選擇排序
思想:在一組資料中,遍歷並找到最小(大)值,與第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 是一種簡單直觀的排序演算法。它的工作原理是 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元...