插入排序原理很簡單,講一組資料分成兩組,我分別將其稱為有序組與待插入組。每次從待插入組中取出乙個元素,與有序組的元素進行比較,並找到合適的位置,將該元素插到有序組當中。就這樣,每次插入乙個元素,有序組增加,待插入組減少。直到待插入組元素個數為0。當然,插入過程中涉及到了元素的移動。
為了排序方便,我們一般將資料第乙個元素視為有序組,其他均為待插入組。
下面以輸入10個數,進行插入排序,以降序方式輸出,**如下;
#include int main()
; printf("please input 10 numbers:\n");
for(i = 0; i < 10; i++) //從終端輸入10個陣列元素;
for(i = 1; i < 10; i++) //外迴圈控制迴圈的輪數;
}} printf("after sorting:\n");
for(i = 0; i < 10; i++) //通過迴圈將排序過的數列印出來;
printf("\n");
return 0;
}
插入排序法
插入排序法 按照比較和插入來實現的。在待排序的元素中,假設前面n 1 其中n 2 個數已經是排好順序的,現將第n個數插到前面已經排好的序列中,然後找到合適自己的位置,使得插入第n個數的這個序列也是排好順序的。按照此法對所有元素進行插入,直到整個序列排為有序的過程,稱為插入排序。類似於打牌的過程中,從...
插入排序法
這個應該是最基礎的演算法了,一直懶得寫,今天搞一下。其實就是先把大的牌往右邊移動,然後再把當前牌插入到前面即可,需要注意的是,不要用在陣列連續賦值,很容易出錯。還是老實點好。define crt secure no warnings include include include include t...
插入排序法
最近買了一本演算法導論的書籍,同學念研究生就是用的這本書,其實這些演算法資料結構直接就該弄完的,都工作四年了,只是知道一點說來慚愧,不懂演算法的程式設計師不是好的程式設計師。演算法導論剛開,從前往後看的,第一章的插入法看書的圖還是看的不明白容易產生誤導,於是自己寫了 才更加的理解了。一是看書的文字描...