C語言排序之選擇排序 一

2022-02-22 10:33:12 字數 1067 閱讀 5358

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

1

/*rand()

*/2 #include 3

/********************

4int rand(void)

5void srand(unsigned int);

6********************

*/7 #include /*

time(null)

*/8 #include 9

/*直接插入排序

*/10

void insort(int s , int

n);11

/*希爾排序,就是將直接排序的增量分成若干組,相同的放一組,組內直接插入

*/12

void shellsort(int s , int

n);13

intmain()

1421

//insort(num,10);

22 shellsort(num , 10

);23

for(i=0;i<10;i++)

2427

return0;

28}29/*

直接插入法是指對乙個新陣列重新乙個個插入資料,小->大

*/30

void insort(int s,int

n)31

43 s[j+1] =key;44}

45}46/*

希爾排序,選擇就用希爾!

*/47

void shellsort(int s , int

n)48

62 s[j+d] =key;63}

64 d = d/2;65

}66 }

2013-01-19

C語言排序之選擇排序篇

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

演算法之選擇排序 C語言

選擇排序 思想 在一組資料中,遍歷並找到最小 大 值,與第0位交換,然後從第1位開始遍歷,找到次小 大 值,與第1位交換,以此類推,直到資料按照一定順序排列。迴圈不定式 初始化 把第0位當作最小值,遍歷第1位至陣列末尾,找到最小值,與第0位交換 保持 把第n位當作從n開始到陣列末尾的最小值,遍歷第n...

c語言選擇排序 選擇排序法 C語言

直接選擇排序的基本思想 n個記錄的直接選擇排序可經過 n 1 趟直接選擇排序得到有序結果。初始狀態 無序區為 a 1.n 有序區為空。第 1 趟排序 在無序區 a 1.n 中選出最小的記錄a k 將它與無序區的第 1 個記錄 a 1 交換,使 a 1 1 和 a 2.n 分別變為記錄個數增加1的新有...