演算法之選擇排序 C語言

2021-06-14 14:09:29 字數 896 閱讀 5418

選擇排序

思想:在一組資料中,遍歷並找到最小(大)值,與第0位交換,然後從第1位開始遍歷,找到次小(大)值,與第1位交換,以此類推,直到資料按照一定順序排列。

迴圈不定式:

初始化:把第0位當作最小值,遍歷第1位至陣列末尾,找到最小值,與第0位交換;

保持:把第n位當作從n開始到陣列末尾的最小值,遍歷第n+1位至陣列末尾,找到最小值,與第n位交換;

終止:直到遍歷到陣列末尾。

時間複雜度:o(n2)

**如下:

#include #define maxsize 10

void select_sort(int array);

/** * 選擇排序,從小到大排序

*/void select_sort(int array)

tmp_index ++;

}if(small_index != index)//如果找到比當前位置的值更小的值,更換當前位置的值與最小值調換

index ++;

}}/**

* 主程式

*/ int main()

;//待排序的陣列

int index = 0;//索引

//列印原有陣列

printf("oringin array: ");

while(index < maxsize)

printf("\n");

//排序

select_sort(array);

//列印排序後陣列

index = 0;

printf("sort array: ");

while(index < maxsize)

printf("\n");

return 0;

}

C語言排序之選擇排序篇

選擇排序也是一種簡單直觀的排序演算法。它的工作原理很容易理解 初始時在序列中找到最小 大 元素,放到序列的起始位置作為已排序序列 然後,再從剩餘未排序元素中繼續尋找最小 大 元素,放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。注意選擇排序與氣泡排序的區別 氣泡排序通過依次交換相鄰兩個順序不...

C語言排序之選擇排序 一

今天主要寫了點c的排序,現在想來,語言啥的都如浮雲,當然能夠做到最簡單是最好的,比如用c 可以搞成模板,就省得寫一大堆相似的東西,就是乙個比較爽的事情,不過有些時候 高階 語言都讓我們懶得去思考了,實在是沒勁,還是思想重要,最近又對數學和演算法充滿了興趣 越發覺得計算機或者帶有 智慧型 系列的東西的...

C 實現排序演算法之選擇排序

c 實現排序演算法之選擇排序 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元...