選擇排序法 是對定位比較交換法(也就是氣泡排序法)的一種改進。選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。
void choosesort(int a,int n)
//交換最小值與第i個元素
tmp=a[indexofminnum];
a[indexofminnum]=a[i];
a[i]=tmp;}}
測試:
int main ();
for(i=0;iprintf("%d ",a[i]);
printf("\n排序之後\n");
choosesort(a,n);
for(i=0;iprintf("%d ",a[i]);
return
0;}
測試結果: 資料結構 排序演算法之選擇排序
一 選擇排序 最差的排序演算法 在選擇排序中,假定我們需要公升序,因此在每次排序中,需要找到最大的元素,將其放在最後,在每一次的迴圈中,都是將最大的元素放在最後,因此對於資料較多的陣列,迴圈的次數將與陣列中元素的個數一致,因此,在對於這種陣列進行排序時,將十分的浪費時間。有關選擇排序的思路,如下所示...
資料結構 排序 選擇排序 堆選擇排序法
資料結構 排序 選擇排序 堆選擇排序法 1.堆排序定義 n個關鍵字序列kl,k2,kn稱為堆,當且僅當該序列滿足如下性質 簡稱為堆性質 1 ki k2i且ki k2i 1 或 2 ki k2i且ki k2i 1 1 i 若將此序列所儲存的向量r 1.n 看做是一棵完全二叉樹的儲存結構,則堆實質上是滿...
資料結構 排序 選擇排序 直接選擇排序法
直接選擇排序 straight selection sort 直接選擇排序的基本思想 n個記錄的檔案的直接選擇排序可經過n 1趟直接選擇排序得到有序結果 初始狀態 無序區為r 1.n 有序區為空。第1趟排序 在無序區r 1.n 中選出關鍵字最小的記錄r k 將它與無序區的第1個記錄r 1 交換,使r...