实现方法:
// letcode.cpp : 定义控制台应用程序的入口点。
//
#include"stdafx.h"
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int InsertSort(int *a,int n)
{
int j;
for (int i = 2; i <= n; i++)
{
a[0] = a[i];
j = i - 1;
while(a[0]<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=a[0];
}
return 0;
}
int main()
{
int list[11];
cout << "请输入一组数据(10):" << endl;
for (int i = 1; i < 11; i++)
cin >> list[i];
InsertSort(list,10);
for (int i = 1; i < 11; i++)
cout << list[i]<<"->";
cout << endl;
system("pause");
return 0;
}
总结
每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。