题目地址
直接插入排序:
n个元素,插n-1次,前面元素有序。
最好O(n)。
最坏O(n2)。
与初始序列有关。
最好O(n)。
最坏O(n2)。
与初始序列有关。
代码:
#include<iostream>
using namespace std;
void Swap(int &a,int &b)
{
int temp;
temp = a;
a = b;
b = temp;
}
/*
直接插入排序
n个元素,插n-1次 前面元素有序
最好O(n)
最坏O(n2)
与初始序列有关*/
void InsertSort(int *a,int n)
{
for(int i=1; i<n; i++)
{
int j=i;
int temp = a[i];
while(j>0 &&temp < a[j-1]){
a[j] = a[j-1]; j--;
}
a[j] = temp;
}
}
int main()
{
int *a = new int [3];
for(int i=0;i<3;i++)
cin>>a[i];
InsertSort(a,3);
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
return 0;
}