今天主要寫了點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的新有...