排序演算法系列 直接插入排序(C )

2021-07-13 21:52:04 字數 851 閱讀 7762

直接插入排序的基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的、記錄數增加1的有序表。這是直插排序的操作定義。

參考《大話資料結構》這本書的實現原理,c++**如下:

# include 

# define size 10

using

namespace

std;

void insert_sort(int a,int n);

void insert_sort(int a,int n)

}} void main()

; int num;

insert_sort(number,size);

for (num=1;numcout}}

執行結果:這裡他需要乙個記錄的輔助空間,即a[0]=0,用於序列後移輔助空間,我嘗試設定乙個中間變數,執行成功,**如下:

# include 

# define size 10

using

namespace

std;

void insert_sort(int a,int n);

void insert_sort(int a,int n)

}} void main()

; int num;

insert_sort(number,size);

for (num=0;numcout}}

執行結果:

原理理解:

演算法系列 直接插入排序和希爾排序

直接插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子串行中的適當位置,直到全部記錄插入完成為止。設陣列為a 0 n 1 1 初始時,a 0 自成1個有序區,無序區為a 1.n 1 令j 1 2 將a j 併入當前的有序區a 0 j ...

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

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...