c語言中有很多排序的方法,這次我先介紹一下插入排序法。
首先我們要知道對一些數字進行排序一般都是用迴圈來實現,插入排序也不例外。
插入排序有乙個要求就是:我要插入的位置前面的數字都必須是公升序才可以,如果前面只有乙個數字,那麼我們就不需要考慮是否為公升序,所以我們迴圈開始的地方為第二個數字,也就是陣列中下標為1的位置。既然有數字位置的改變,所以要定義乙個新的變數去儲存要變化的變數的值。我們就將第二個數字的值賦給新定義的key中,然後去進行迴圈插入,最後就能完成陣列的排序。
寫的不太好請多包涵。
注意:我這個**是在linux環境下執行的,在c-free中執行會有亂碼,將中文換掉即可。
#include
intmain()
for(i=
1;i(j+1
!= i)
}for
(i=0
;i)printf
("\n");
return0;
}
十大排序 插入排序
插入排序的思想 插入排序的思想有點類似摸撲克牌,首先抽取第一張,當做已經排好序,然後第二張,插入到已經排好序的撲克牌中,依次類推,第三張.直到最後一張。void insertsort int arr,int len arr j tmp tmp arr i 分析 插入排序比氣泡排序快。在陣列基本有序的...
排序演算法 一 插入排序法 折半插入排序法
約定 假設資料中有n個資料元素 關鍵字 排列演算法中,將序列中各關鍵字值依次存放於型別為keytype的陣列元素k 1 k 2 k 3 k n 中。排序結果按照資料元素 關鍵字 值的大小,從小到大排序。核心思想 第 i 趟排序將序列中第 i 1 個元素 ki 1 i 1,2,n 1 插入到乙個已經按...
八大排序演算法之一插入排序
基本思想 將乙個記錄插入到已排序好的有序表中,從而得到乙個新,記錄數增1的有序表。即 先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。如果碰見乙個和插入元素相等的,那麼插入元素把想插入的元素放在相等元素的...