c語言實現插入排序

2021-10-08 15:55:05 字數 689 閱讀 1747

插入排序是一種從序列左端開始依次對資料進行排序的演算法。在排序過程中,左側的資料陸續歸位,而右側留下的就是還未被排序的資料。插入排序的思路就是從右側的未排序區域內取出乙個資料,然後將它插入到已排序區域內合適的位置上。

首先我有5 2 4 7 2 8這組資料(要公升序排列)

首先讓最左側的5設為已排序完成的數字,而待排數字為[2,4,7,2,8],讓2與5比較,若待排2小於5,則5向後移動,留出位置讓2進入(像是交換兩者之間的位置),現在序列為[2,5,4,7,2,8]

現在 以排序區的參考為5 未排數字為[4,7,2,8],讓4與5比較,可見兩者要交換位置,在4與2比較,不用交換位置,好了,排序完成為[2,4,5,7,2,8],

4.之後同理,整個過程有點像打撲克牌一樣!

void

insertsort

(int array,

int num)

array[pre+1]

= temp;

}printf

("輸出啦");

int i;

for(i=

0;i;int

main()

;insertsort

(array,9)

;return0;

}

C語言實現插入排序

插入排序 我在學習一些簡單的演算法,我用文字記錄我的進步。插入排序 其實就是在待排序列中找到,沒有排序好的元素,插入的適當的位置,本文以公升序為例,簡單的講解一下。直接看下面的 include stdio.h include stdlib.h include string.h void swap i...

C語言實現插入排序

插入排序是排序演算法的一種,它不改變原有的序列 陣列 而是建立乙個新的序列,在新序列上進行操作。這裡以從小到大排序為例進行講解。插入排序的基本思想是,將元素逐個新增到已經排序好的陣列中去,同時要求,插入的元素必須在正確的位置,這樣原來排序好的陣列是仍然有序的。在實際使用中,通常是排序整個無序陣列,所...

插入排序(C 語言實現)

插入排序分為直接插入排序和折半插入排序,直接插入排序利用遍歷的方式查詢插入位置,時間複雜度為n 2,直接插入法由於不會改變相同元素的相對順序,所以直接插入排序是一種穩定的排序演算法。折半插入排序 二分插入排序 折半插入利用二分法查詢插入位置,只是減少了查詢比較的操作,所以其時間複雜度仍為n 2,二分...