插入排序

插入排序

直接插入排序是一種簡單的插入排序法谦炬,其基本思想是:把待排序的紀錄按其關(guān)鍵碼值的大小逐個插入到一個已經(jīng)排好序的有序序列中悦屏,直到所有的紀錄插入完為止节沦,得到一個新的有序序列键思。[1]

例如,已知待排序的一組紀錄是:

60,71,49,11,24,3,66

假設(shè)在排序過程中,前3個紀錄已按關(guān)鍵碼值遞增的次序重新排列甫贯,構(gòu)成一個有序序列:

49,60,71

將待排序紀錄中的第4個紀錄(即11)插入上述有序序列吼鳞,以得到一個新的含4個紀錄的有序序列。首先叫搁,應(yīng)找到11的

插入位置赔桌,再進行插入供炎。可以講11放入數(shù)組的第一個單元r[0]中疾党,這個單元稱為監(jiān)視哨音诫,然后從71起從右到左查找,11小于71雪位,將71右移一個位

置竭钝,11小于60,又將60右移一個位置雹洗,11小于49香罐,又再將49右移一個位置,這時再將11與r[0]的值比較时肿,11≥r[0]庇茫,它的插入位置就是

r[1]。假設(shè)11大于第一個值r[1]螃成。它的插入位置應(yīng)該在r[1]和r[2]之間旦签,由于60已經(jīng)右移了,留出來的位置正好留給11.后面的紀錄依照同

樣的方法逐個插入到該有序序列中寸宏。若紀錄數(shù)n,續(xù)進行n-1趟排序顷霹,才能完成。

直接插入排序的算法思路:

(1) 設(shè)置監(jiān)視哨r[0]击吱,將待插入紀錄的值賦值給r[0]淋淀;

(2) 設(shè)置開始查找的位置j;

(3) 在數(shù)組中進行搜索覆醇,搜索中將第j個紀錄后移朵纷,直至r[0].key≥r[j].key為止;

(4) 將r[0]插入r[j+1]的位置上永脓。

int array[] = {3,7,5,2,9,4,1,8,6};

int count = sizeof(array) / sizeof(array[0]);

int j;

for ( int i = 1; i < count; i ++) {

j = i;

int tem = array[j];

while ( j > 0 && array[j - 1 ] > tem) {

array[j] = array[j -1];

j --;

}array[j] = tem;

}for (int i = 0; i < count;? i ++) {

printf("%d",array[i]);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袍辞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子常摧,更是在濱河造成了極大的恐慌搅吁,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件落午,死亡現(xiàn)場離奇詭異谎懦,居然都是意外死亡,警方通過查閱死者的電腦和手機溃斋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門界拦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梗劫,你說我怎么就攤上這事享甸〗夭辏” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵蛉威,是天一觀的道長日丹。 經(jīng)常有香客問我,道長蚯嫌,這世上最難降的妖魔是什么聚凹? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮齐帚,結(jié)果婚禮上妒牙,老公的妹妹穿的比我還像新娘。我一直安慰自己对妄,他們只是感情好湘今,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剪菱,像睡著了一般摩瞎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上孝常,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天旗们,我揣著相機與錄音,去河邊找鬼构灸。 笑死上渴,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的喜颁。 我是一名探鬼主播稠氮,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼半开!你這毒婦竟也來了隔披?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤寂拆,失蹤者是張志新(化名)和其女友劉穎奢米,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纠永,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鬓长,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渺蒿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痢士。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡彪薛,死狀恐怖茂装,靈堂內(nèi)的尸體忽然破棺而出怠蹂,到底是詐尸還是另有隱情,我是刑警寧澤少态,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布城侧,位于F島的核電站,受9級特大地震影響彼妻,放射性物質(zhì)發(fā)生泄漏嫌佑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一侨歉、第九天 我趴在偏房一處隱蔽的房頂上張望屋摇。 院中可真熱鬧,春花似錦幽邓、人聲如沸炮温。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柒啤。三九已至,卻和暖如春畸颅,著一層夾襖步出監(jiān)牢的瞬間担巩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工没炒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留涛癌,地道東北人。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓送火,卻偏偏與公主長得像祖很,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子漾脂,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 這篇文章是我在學(xué)習數(shù)據(jù)結(jié)構(gòu)時作筆記的用途形耗,這篇文章會紀錄下我學(xué)習的幾種排序算法,以及在學(xué)習的時候會加上配圖說明辙浑! ...
    凌云壯志幾多愁閱讀 1,542評論 0 3
  • 總結(jié)一下常見的排序算法激涤。 排序分內(nèi)排序和外排序。內(nèi)排序:指在排序期間數(shù)據(jù)對象全部存放在內(nèi)存的排序判呕。外排序:指在排序...
    jiangliang閱讀 1,334評論 0 1
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個記錄插入到已排序好...
    依依玖玥閱讀 1,245評論 0 2
  • 算法之插入排序 一:基本概念插入排序(Insert Sort)倦踢,每次將一個待排序的數(shù)據(jù)元素送滞,插入到前面已經(jīng)排好序的...
    墨小飛閱讀 265評論 0 0
  • 文/甜點 當我還是一個小女孩的時候晤碘,就特別向往24歲這個年紀褂微,確切說,是這個數(shù)字园爷。沒有特別原因的喜歡這個數(shù)字...
    思甜_根號2閱讀 616評論 2 4