您的位置:首页 > 其它

冒泡排序--改进

2015-08-02 11:44 218 查看
#include <stdio.h>
void bubble_sort(int a[],int n)
{
int i,j.tmp;
int exchange=0,last_exchange;//这里的exchange表示是否发生交换,如果始终未发生交换,那么认为已经是有序的序列了,不在需要排序,直接跳出;last_exchange表示最后一个发生交换的位置,可以使得有序序列扩充多个;
last_exchange=1;
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(a[j]<a[j-1])
{
tmp=a[j-1];
a[j-1]=a[j];
a[j]=tmp;
exchange=1;
last_exchange=j;
}
}
i=last_exchange;
if(0==exchange)
break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: