資料結構和演算法 氣泡排序和選擇排序

2021-08-20 15:03:08 字數 1013 閱讀 7933

package com.test_1;

public

class demo5_3 ;

int temp=0;//中間值

//-------氣泡排序法

//外層迴圈,它決定一共走幾趟

for(int i = 0;i1;i++)}}

//輸出結果

for(int i = 0;iout.print(arr[i]);}}

}

第一次從r[0]~r[n-1]中選取最小值,與r[0]交換。第二次從r[1]~r[n-1]中選取最小值與r[1]交換。。。以此類推。 

通俗點說就是每次找到後面元素的最小值然後與之交換。

選擇排序法效率中。 

1:外層迴圈:要走幾趟,同樣是length-1。 

2:設定乙個最小值。假設第乙個就是最小值。 

3:設定乙個最小值下標 

4:內層迴圈:那你當前的最小值去逐一比較。當有比當前最小值小的數時,記錄最小值,記錄下標。 

5:退出內層迴圈後就交換位置。

package com.test_1;

public

class demo5_3 ;

//呼叫選擇排序法

select select = new select();

select.sort(arr);

}}//--------------選擇排序法

class select

}//當退出內層迴圈就找到這次的最小值

//交換位置

temp = arr[j];

arr[j]=arr[minindex];

arr[minindex]=temp;

}//輸出結果

for(int i = 0;iout.print(arr[i]+" ");}}

}

資料結構與演算法 冒泡和選擇排序

資料結構研究資料之間的關係 1.集合結構 2.線性結構 3.圖形結構 4.樹形結構 鏈式儲存 堆疊 佇列陣列 樹二叉樹 圖乙個演算法的優劣程度可以用空間複雜度和時間複雜度來衡量。空間複雜度 是乙個演算法在執行過程中臨時占用儲存空間大小的度量 時間複雜度 是乙個演算法在執行過程中所需要計算的工作量 時...

資料結構和演算法 氣泡排序

它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同...

資料結構和演算法 排序演算法之二 選擇排序和堆排序

一 選擇排序 1 思想 假設有十張撲克牌放在桌上,我們需要按從小到大的順序拿到手上,每次只能選擇一張牌拿到手上,那麼每一次我們都必須從桌上的撲克牌中選擇最小的牌拿起來,一次迴圈十次,這樣就將撲克牌按從小到的順序拿到手上了。這就是選擇排序。2 實現 選擇排序 輸入 待排序陣列 a 和陣列個數 n 輸出...