插入排序,就是如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。
#include<bits/stdc++.h>
using namespace std;
int a[100];
void Insert(int a[],int n)
{
int t,i,j;
for(i=1;i<n;i++)
{
t=a[i];
for(j=i-1;j>=0&&t<a[j];j--)
a[j+1]=a[j];
a[j+1]=t;
}
}
int main()
{
int n,i;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
Insert(a,n);
for(i=0;i<n;i++)
cout<<a[i]<<' ';
}