题目描述
1.将数组的第一个元素代表已排序列
2.用下一个元素往已排序列中进行插入,插入到相应位置
3.循环下列步骤,直到将所有的元素插入到已排序列
#include<iostream>
using namespace std;
const int N=1010;
int arr[N];
void insertsort(int arr[],int n)
{
for(int i=0;i<n;i++)
{
int key=arr[i];
int j=i-1;
while(j>=0&&arr[j]>key)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=key;
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
insertsort(arr,n);
for(int i=0;i<n;i++)
{
cout<<arr[i]<<' ';
}
return 0;
}