從0~n-1個元素中選擇最小的元素,與第0個元素交換;從1~n-1個元素中選擇最小的元素,與第乙個元素位置交換,依次類推。(選擇排序和氣泡排序比較近似,可對照學習)
選擇排序相較氣泡排序,移動的次數較少,所以選擇排序比氣泡排序效果更好點。
//選擇排序
void selectsort(parraylist list) }}
//返回i~length中最小的元素的下標
int selectminielem(parraylist list,int index)
}return minindex;
}
//c++精簡版
int temp;
int a[8] = ;
for (int i = 0; i < 8; i++)
}temp = a[i];
a[i] = a[m];
a[m] = temp;
cout << a[i] << " ";
}
注:選擇排序與氣泡排序的異同:
選擇排序
:每次找到最小的元素,但是它只是將最小元素與首位元素交換位置;
氣泡排序
:每次找到最大的元素,但是在查詢的過程中需要不斷地移動元素的位置。
選擇排序相較氣泡排序,移動的次數較少,所以選擇排序比氣泡排序效果更好點。
排序演算法 選擇排序
private static int leftchild int i private static void perc int a,int i,int n for int i 0 ir j break else public static void heasp int r,int n for i 0...
排序演算法 選擇排序
摘自 wiki百科 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾 目前已被排序的序列 以此類推,直到所有元素均排序完畢。c語言實現 vo...
排序演算法 選擇排序
排序演算法作為最基本也是最常用的演算法,是我們必須要掌握的內容。本文從比較基礎的選擇排序演算法開始,進行排序演算法的介紹。思想 選擇排序,顧名思義,就是從一組總數為n的無序陣列中,進行一次遍歷,選擇出最小 最大 的乙個,把它交換到陣列的第0個位置。然後不斷重複該操作,直到最後兩個數。在第 i 次選擇...