在一本書上看到的選擇排序演算法,與網上找的之間比較。目的不是比哪個演算法更好,只為多記一些方式,在有時候能用到。
#includeusing namespace std;
#define maxn 10007
int main()
for( i = 0;i < t-1;i++)
for( i = 0;i < t-1;i++){
ipos = i;//記錄最小元素下標
for( j = i+1;j 結果一樣,都是上面那結果。
在寫排序**的時候,一定要注意:
1,第一層for迴圈從0到n-1,第二層是從i+1到n(按上面寫的,t就是n)。
2,在第一層與第二層迴圈中間,一定要有乙個記錄最小(大)值的變數。
3,在交換兩元素值時,不論那種方式,均得對應,不然會出錯,達不到想要得結果。
4,學完一種之後,一定要理解這種,不能似懂非懂,不然解題會很煩人的。還有,盡量對比著記憶,這樣會很快理解為什麼這樣寫。
氣泡排序和選擇排序對比
1 氣泡排序 氣泡排序這種方法的基本思想是,將待排序 未排序序列 的記錄看作是豎著排列的 氣泡 鍵值較小 數值較大 的記錄比較輕,從而要往上浮。在氣泡排序演算法中要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的記錄的順序是否正確。如果發現兩個相鄰記錄的...
選擇排序與氣泡排序的對比
選擇排序與氣泡排序的對比 選擇排序與氣泡排序的對比 一,選擇排序 1,演算法原理 給定乙個陣列,這種思想首先假定陣列的首元素為最大或者最小的.此時就要利用3個變數表示元素的下標。乙個表示當前,乙個表示找到的最大或者最小的下標,乙個用於存放每次迴圈中最大值的下標。在掌握了程式的基本思想之後,再進行排序...
氣泡排序演算法與選擇排序演算法的對比
int a 定義乙個int型別一維陣列,分別用氣泡排序演算法與選擇排序演算法對其進行排序。第1次參與迴圈的資料 4 3 7 5 0 第一次比較 3 4 7 5 0 第二次比較 3 4 7 5 0 第三次比較 3 4 5 7 0 第四次比較 3 4 5 0 7 第二次參與迴圈的資料 4 5 0 7 每...