话不多说直接代码
#include <stdio.h>
/*
冒泡排序及其优化算法
要求算法写出时间少于90s
*/
int BubbleSort(int *a,int len)
{
for(int i=0;i<len;i++)
{
bool flag=false; //设置标志位 大大减少时间
for(int j=len-1;j>i;j--)
{
if(a[j]<a[j-1])
{
int temp =a[j];
a[j]=a[j-1];
a[j-1]=temp;
flag=true;
}
}
if(!flag)
break;
}
return 0;
}
int main(int argc, char* argv[])
{
int a[]={9,8,7,6,5,4,3,2,1,10};
BubbleSort(a,10);
for(int i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}