插入排序的'基本思想是每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。下面是小編分享的C++ 排序插入排序詳解,一起來看一下吧。
常見的插入排序有插入排序(Insertion Sort),希爾排序(Shell Sort),二叉查詢樹排序(Tree Sort),圖書館排序(Library Sort),Patience排序(Patience Sort)。
簡單例項:
#include <iostream>
using namespace std;
void InsertSort( int k[], int n )
{
int i, j,temp;
for( i=1; i < n;i++ )
{
if( k[i] < k[i-1] )
{
temp = k[i];
for( j=i-1; k[j] > temp;j-- ) //找位置並且向後推移
{
k[j+1] = k[j];
}
k[j+1] = temp;
}
}
}
int main()
{
int i ,a[10] = {5,2,6,0,3,9,1,7,4,8};
InsertSort(a,10);
for( i=0; i < 10 ;i++ )
{
cout << a[i];
}
cout << endl;
return 0;
}