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 輸出...