插入排序演算法 直接排序

2021-10-20 13:28:13 字數 772 閱讀 2478

插入排序演算法-----直接排序

直接排序:演算法思想:將陣列的中的每乙個的數拿到臨時變數temp裡,與它前面的所有數進行比較,找到比它本身小的數,將其插入進去

觀察下圖,可以根據上面的演算法思想自行的進行移動。

#

include

void

insertfun

(int

*a,int length)

else

}//此時的j = i-1-1

a[j+1]

= temp;

//最後將temp的值放入 j+1 }}

intmain()

;int length =

sizeof

(arry)

/sizeof

(int);

printf

("排序前: ");

for(

int i=

0; i

)insertfun

(arry, length)

;printf

("\n排序後: ");

for(

int i=

0; i

)return0;

}

程式執行結果:

排序演算法 插入排序 直接插入排序

package 插入排序 直接插入排序 從後向前找到合適位置後插入 穩定 基本思想 每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置 從後向前找到合適位置後 直到全部插入排序完為止。public class 直接插入排序 system.out.println 排序之前 fo...

排序演算法 插入排序 直接插入排序

當插入第i i 1 個元素時,前面的v 0 v i 1 等i 1個 元素已經有序。這時,將第i個元素與前i 1個元素v i 1 v 0 依次比較,找到插入位置即將v i 插入,同時原來位置上的元素向後順移。在這裡,插入位置的查詢是順序查詢。直接插入排序是一種穩定的排序演算法,其實現如下 public...

排序演算法 插入排序之直接插入排序

直接插入排序的核心思想是把乙個記錄插入乙個有序序列中,每插入乙個記錄就得到乙個新的有序序列,直到所有記錄都插入成功,得到有序序列。每次插入記錄時的有序序列如何得到,關鍵在第一次,第一次要插入的記錄時序列的第二個值,有序序列只有乙個值,就是第乙個記錄。a j 1 x j 1就是要插入的位置 print...