插入排序 InsertSort 穩定排序

2021-09-29 19:28:43 字數 672 閱讀 6610

假如乙個陣列只有1個元素,那麼這個陣列就已經是有序的了;

假如這個陣列有2個元素,那麼就把a[1]當做是比較數temp,比較a[0],如果a[1]假如這個陣列有3個元素,那麼就把a[2]當做是比較數temp,比較a[0],a[1],如果a[2]假如這個陣列有n個元素,那麼就重複前面的步驟,直至比較數是a[n-1]

核心思想:每一次進行排序都是在已經排好序的表上進行的,從而得到新的排序表。即將無序的序列逐個插入到有序的序列中。

(比較數逐個左比,非比較數逐個右移)

優勢:當要排列的序列是基本有序的情況下,或者是陣列容量比較下的情況下,插入排序的優勢比較大。

#include"stdio.h"

void swap1(int a,int i,int j)

void swap2(int* a,int* b)

void print(int a,int length)

arr[j+1]= temp; }}

}int main();

insertsort(a,10);

print(a,10);

return 0;

}

Insert sort 插入排序

入學c,開始熟悉gcc,g 熟悉演算法 2011 9 18 writen by qiya include include include const int size 10 void insert sort int a,int n j j 1 a j key int main for i 0 i s...

插入排序 InsertSort

插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。插入排序步驟 1.在有序序列中查詢插入點 2.從插入點開始向後移動資料 1 2可合併,邊查詢邊移動資料 3.插入資料 插入排序根據查詢插入點...

插入排序(InsertSort)

首先舉乙個和插入排序有關的例子 現在桌上有一副撲克,要求我們要有序的放在手上,所以我們就要在拿牌的同時,用拿起來的牌與手中已經存在的牌作比較,並且之後把這張牌放在合適的位置。所以,當我們面對的是一組資料的時候我們也可以使用這種思路來對這組資料進行排序。首先我們要拿出乙個數字來做為與其他資料進行比較的...