選擇排序:
首先找到陣列中最小的元素,其次,將它與陣列中第乙個元素交換位置;
再次,從剩下的陣列中找到最小的元素並與第二個元素交換位置;
不斷地選擇剩餘元素中的最小者。
#includeusing namespace std;
void choicesort(int* a, int n)
t = a[i];
a[i] = a[min];
a[min] = t; }}
int main()
; int n = sizeof(a) / sizeof(int);
choicesort(a, n);
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}
選擇排序
優點:資料移動是最小的;
缺點:不能利用陣列的排序狀態,每次都要從新遍歷陣列選擇最小值。
資料結構與演算法 選擇排序實現
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...
資料結構與演算法複習 選擇排序 C 實現
include include student.h include sorttesthelper.h using namespace std 選擇排序 tparam t 使用模板可以接受任意型別引數 param arr 待排序的陣列 param n 陣列大小 template void select...
資料結構與演算法 排序 選擇排序
資料結構與演算法 排序 選擇排序 sort selectsort include includevoid selectsort int list,int len if print list,len for selectsort int minkey int list,int i,int len if...