插入排序演算法-----直接排序:
直接排序:演算法思想:將陣列的中的每乙個的數拿到臨時變數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...