直接插入排序基本思想:
将一个记录插入到已经排好序的有序列表中,从而得到一个新的,记录数增加1的有序表。
直接看看代码:
#include<iostream>
using namespace std;
void insertSort(int k[], int n)
{
int temp;
int i;
int j;
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 k[10] = { 5,2,3,0,1,6,8,9,11,7 };
insertSort(k, 10);
cout << "排序后的结果是:" << endl;
for (int i = 0; i < 10; i++)
{
cout << k[i] << " ";
}
cout << endl;
system("pause");
return 0;
}