插入排序
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。
#include<cstdio>
#include<cstring>
int main()
{
int arr[5]={3,1,5,7,2};
int len=sizeof(arr)/sizeof(int);
for(int i=1;i<len;i++)/进行n-1次排序
{
/插入的数
int Value=arr[i];
从i开始
int Index=i;
下标大于零,同时插入的数要小于前一个数
while(Index>=0&&Value<arr[Index-1])
{
arr[Index]=arr[Index-1];
Index--;
}
arr[Index]=Value;
}
for(int i=0;i<len;i++)
{
printf("%d",arr[i]);
}
return 0;
}