双向冒泡排序
2018-10-16 本文已影响0人
小码弟
void bibubblesort(int array[], int len)
{
int left = 0;
int right = len-1;
int t;
while(left<=right)
{
// 逆向
for(int i=right; i>left; i--)
{
if(array[i-1]>array[i])
{
swap(array[i-1], array[i]);
t = i;
}
}
left = t+1;
// 正向
for(int i=left; i<right; i++)
{
if(array[i-1]>array[i])
{
swap(array[i-1], array[i]);
t = i;
}
}
right = t - 1;
}
}