#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;
}
}
版权声明:本文为j695251824原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。