//插入排序是稳定的,时间复杂度最好O(N),最坏O(N^2),平均O(N^2)
//像选择排序,冒泡排序,插入排序......这些基于 比较 交换 相邻元素 进行排序的算法 复杂度平均要O(N^2)
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
void InsertSort(int array[],int n){
int i,j,temp;
for(i=1;i<n;i++){
temp=array[i];
for(j=i;j>0&&array[j-1]>temp;j--)
array[j]=array[j-1];
array[j]=temp;
}
}
int main(){
int n;
cin>>n;
int array[n];
for(int i=0;i<n;i++)
cin>>array[i];
InsertSort(array,n);
for(int i=0;i<n;i++)
cout<<array[i]<<(i==n-1?'\n':' ');
return 0;
}
插入排序
最新推荐文章于 2023-11-05 14:17:54 发布