对于少量元素的排序,插入排序是一个有效的算法。排序的工作方式类是排序一手扑克牌
最坏情况下,插入排序的时间复杂度达到了O(n^2)
#include "iostream"
#include "cstdio"
#include "cmath"
using namespace std;
int main()
{
int n, i, j;
cin>>n;
int a[100];
for(i=1;i<=n;i++)
cin>>a[i];
for(j=2;j<=n;j++)
{
int temp = a[j];
i = j-1;
while(i>0&&a[i]>temp)
{
a[i+1] = a[i];
i--;
}
a[i+1] = temp;
}
for(j=1;j<=n;j++)
cout<<a[j]<<" ";
cout<<endl;
return 0;
}