選擇排序法

2021-08-10 01:51:25 字數 532 閱讀 9678

直接選擇排序的基本思想:

將待排序的元素分為已排序(初始為空)和未排序兩組,依次將未排序的元素中值最小的元素放入已排序的組中。

/*

基本過程:

1.在一組元素r[i]到r[n]中選擇具有最小關鍵碼的元素

2.若它不是這組元素中的第乙個元素,則將它與這組元素中的第乙個元素對調。

3.除去具有最小關鍵字的元素,在剩下的元素中重複1.2步,直到剩餘元素只有乙個為止

*/public

class selearray ;

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

//遍歷排序完的陣列

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

}

//優化:每輪只交換一次

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

}if(t!=i)

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

}

排序法之選擇排序法

首先通過陣列中元素的比較方式來分析 用陣列中第乙個角標的元素與陣列中第二個角標的元素進行比較,發現9比6大,進行位置置換,此處應該定義乙個三方變數,用來記錄住置換過程的元素值,然後再用第乙個角標的元素與下乙個角標元素進行比較,按照全面的原則進行置換位置,如果前者小於後者,則不置換位置,一次比較,當第...

氣泡排序法 選擇排序法

相鄰兩個數進行比較 如果前者比後者大 就把前者和後者互換 比如十個數 經過九次比較 就可以得到乙個最大的數字於排列的最末端 再經過八次比較 可以得到乙個第二大的數 依次類推 即最大的數一次一次冒泡上來。include int main printf n 資料排序 for i 0 i 9 i 列印資料...

選擇排序法

1.直接選擇排序法 基本思想 每一趟 第i趟,i 0,1,2,n 1 在後面n i個待排序記錄中選出關鍵字最小的記錄,作為有序記錄序列的第i個記錄。直到第n 2趟完,待排記錄只剩下乙個,不完再選了!直接選擇排序法 void selectionsort int parry,int ilen if k ...