c語言中有很多排序的方法,這次我先介紹一下插入排序法。
首先我們要知道對一些數字進行排序一般都是用迴圈來實現,插入排序也不例外。
插入排序有乙個要求就是:我要插入的位置前面的數字都必須是公升序才可以,如果前面只有乙個數字,那麼我們就不需要考慮是否為公升序,所以我們迴圈開始的地方為第二個數字,也就是陣列中下標為1的位置。既然有數字位置的改變,所以要定義乙個新的變數去儲存要變化的變數的值。我們就將第二個數字的值賦給新定義的key中,然後去進行迴圈插入,最後就能完成陣列的排序。
寫的不太好請多包涵。
注意:我這個**是在linux環境下執行的,在c-free中執行會有亂碼,將中文換掉即可。
#include
intmain()
for(i=
1;i(j+1
!= i)
}for
(i=0
;i)printf
("\n");
return0;
}
希爾插入排序法 C語言
排序原理 希 爾 shell 排序 演算法 先 將要 排序 的 一組 數 按 某個 增量 d 分成 若干 組,每組 中 記錄 的 下標 相差 d 對 每組 中 全部 元素 進行 排序,然後 用 乙個 較小 的 增量 對 它 進行 再次 分組,並對 每個 新 組 重新 進行 排序。當 增量 減到 1 ...
插入排序法 c
前面介紹了快速排序法,簡潔,看起來很優美,今天介紹另外乙個排序演算法 插入排序演算法。插入排序演算法比冒泡演算法效率要高一點,但是高不了太多。下面講講這個演算法的邏輯 1 第乙個元素可以看做是已經排序好的小陣列,第二個元素和這個小陣列比較,放到合適的位置,組成新的已排序的小組數。2 第三個元素在和前...
C 插入排序法
c 插入排序法 從小到大 int score int score0 new int 10 score0 0 score 0 int num 0 for int i 1 i 10 i for int j 0 j i j foreach int sco in score0 sco 插入排序法是在乙個有序...