第一种实现
#include <stdio.h>
int bubble_sort(int arr[], int len)
{
int i, j, tmp;
for(i=0; i<len; i++)
{
for(j=i; j<len; j++)
{
if(arr[i] > arr[j])
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
return 0;
}
优化后的实现
int bubble_sort(int arr[], int len)
{
int flag = 1;
int i = 0;
while(1 == flag)
{
flag = 0;
for(i=0; i<len-1; i++)
{
if(arr[i] > arr[i+1])
{
int tmp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = tmp;
flag = 1;
}
}
len--;
}
return 0;
}