首页 > 代码库 > 插入排序

插入排序

#include<iostream>
using namespace std;

int main()
{
int a[] = { 20, 30, 40, 35, 60, 50 };//分成两个部分,一部分是有序的,一部分是无序的,一开始可以看作是一个有序,其它都是无序的,后面就依次类推

int i, j, k;

for (i = 1; i < sizeof(a) / sizeof(a[0]); i++)
{
for (j = i - 1; j >= 0; j--)
{
if (a[j] < a[i])
break;
}


if (j != i - 1)
{
int temp = a[i];
for (k = i - 1; k>j; k--)//每个元素右移
{
a[k + 1] = a[k];
}
a[k + 1] = temp;
}

}

for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)//输出排好序的数组
cout << a[i] << " ";


return 0;
}

插入排序