簡單的插入排序

2021-08-09 19:57:28 字數 1122 閱讀 7069

第二篇

簡單的插入排序演算法的實現,以下的原始碼都是基於陣列實現的,等學習了資料結構之後,再實現基於其他結構的。

插入排序是一種相對比較廣泛的排序演算法,基本思想就是將乙個數插入到已經有序的序列中,時間複雜度為o(n^2),由於其為穩定的排序演算法,所以當資料量較小時應用較廣。

例如下邊這個序列:』

實現起來比較簡單,原始碼如下:

(1)、內部用while迴圈

void insertsort(datatype a,int n)

}if(j==-1)

a[j+1]=key;}}

相比較而下,第一種**量小且容易理解。

下邊再給出遞迴的插入排序演算法,我們這樣理解,將當前的數插入到n個元素的序列中,要保證有序,那麼必須保證n-1個元素的序列有序,這就構成了遞迴式,當然結束的標誌就是當前序列中只有乙個元素,即為有序。下邊給出實現(要用到上邊的函式來實現插入動作)。

void insert_sort_recursion(int *a,int n)

}

好了,關於插入排序的簡單實現到此結束。後邊貼出原始檔

#include typedef int datatype;

using namespace std;

void insert_sort(int a,int n);

void insertsort(datatype a,int n);

void insert_sort_recursion(int *a,int n);

int main()

; int n=6;

//insert_sort(a,n);

// insertsort(a,n);

insert_sort_recursion(a,n);

for(int i=0;i=0;j--)

}if(j==-1)

a[j+1]=key;

}}void insertsort(datatype a,int n)

}

簡單插入排序

思想 抽出乙個元素,在其前面的元素中找到適當的位置進行插入 這種方式 是將 待插入元素 逐個跟i 1個已排序元素比較,並交換位置 public static void sort int a 設資料序列有n個元素,最好情況 乙個排好序的序列,如。每趟元素與i 1個元素比較的次數是1次。因為前i 1個元...

簡單插入排序

將未排序的記錄按順序插入到已排好序的記錄當中。穩定性 1 插入排序是穩定排序 2 效率是0 n 2 演算法 1 排好序和未排序的 2 插入乙個未排序的數列,依次和前面相鄰的比較,並判斷是否和前面的數是否進行比較 如 12,34,45 插入10 65 12 34 45 為排好序 插入 10 12 34...

簡單插入排序

簡單插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。演算法描述 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 1.從第乙個元素開始,該元素可以認...