冒泡排序和选择排序的时间复杂度时O(N^2),与数组中元素的状况无关;
插入排序与数据状况有关
//按从小到大的顺序排列
#include<iostream>
using namespace std;
int main()
{
//冒泡排序,时间复杂度O(N^2)
int a[10]={1,55,11,0,89,6,33,7,5,10};
for(int i=1;i<10;i++)
{
for(int j=0;j<10-i;j++)
{
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
for(int i=0;i<10;i++)
cout<<a[i]<<' ';
cout<<endl;
//选择排序,时间复杂度O(N^2)
//待写
//插入排序,时间复杂度与数据状况有关,最坏情况O(N^2)-(数组中的数据按从大到小的顺序排列的),最好情况O(N)-(数组中的数据按从小到大的顺序排列的);
int c[10]={1,55,11,0,89,6,33,7,5,10};
for(int i=1;i<10;i++)
{
for(int j=i;j>0;j--)
{
if(c[j]<c[j-1])
{
swap(c[j],c[j-1]);
continue;
}
break;
}
}
for(int i=0;i<10;i++)
cout<<c[i]<<' ';
cout<<endl;
return 0;
}