以公升序為例:
選取陣列第0個位置為最小的元素的位置,將該位置元素依次和陣列剩餘元素做比較,將最小者放入位置0;
重複步驟1,依次填充陣列第1、第2個元素…直到最後乙個元素為止。
以下為**實現:
#include #include #include #define arraysize(x) (sizeof(x)/sizeof(x[0]))
void swap(int *a, int *b)
void select_sort(int *p_arr, const int size)
} }}int main(int argc, char **argv);
for (i = 0; i < arraysize(array); i++)
printf("\r\n");
select_sort(array, arraysize(array));
for (i = 0; i < arraysize(array); i++)
printf("\r\n");
system("pause");
return 0;
}
下圖為執行結果:
c語言選擇排序 選擇排序法 C語言
直接選擇排序的基本思想 n個記錄的直接選擇排序可經過 n 1 趟直接選擇排序得到有序結果。初始狀態 無序區為 a 1.n 有序區為空。第 1 趟排序 在無序區 a 1.n 中選出最小的記錄a k 將它與無序區的第 1 個記錄 a 1 交換,使 a 1 1 和 a 2.n 分別變為記錄個數增加1的新有...
選擇排序(C語言)
採用先確定位置然後找數字的方法。選定位置或者在最前或者在最後。把選定位置上的數字和所有其他數字做順序調整直到把合適數字放在選定位置上。插入排序 include void insert sort int p num,int size int num 0,num1 0,tmp 0 for num 1 n...
選擇排序 C語言
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動到第二個...