#include<iostream>
using namespace std;
void InsertSort(int a[],int len)
{
int i,j;
int temp;
for(i=1;i<len;i++)//外循环表示要进行n-1趟排序
{
if(a[i-1]>a[i])
{
temp=a[i];//小值赋给temp
j=i-1;
do
{
a[j+1]=a[j];//往后移位
j--;
}while(j>=0&&a[j]>temp);//移到头或者移到这个数大于前面的数
a[j+1]=temp;//将数字插入有序数组
}
}
}
int main()
{
int a[]={2,5,-1,0,16,89,-32,-1,-4,90,0};
int len=sizeof(a)/sizeof(a[0]);
InsertSort(a,len);
for(int i=0;i<len;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
C++直接插入排序
最新推荐文章于 2022-06-09 08:25:22 发布