C语言版双向起泡排序

奇数趟时,从前往后比较相邻的关键字,遇到逆序就交换,直到把最大的数移动到最后;

偶数趟时,从后往前比较相邻的关键字,遇到逆序就交换,直到把最小的数移动到最前。 

#include

void BubbleSort(int a[],int len){
//双向起泡,交替进行正反两方向的冒泡排序
    int low=0;int high=len;int temp;    
    bool flag=1;    //交换标志
    while(lowa[i+1]){
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
                flag=1;    
            }
        }
        high--;    //更新上界
        for(int j=high;j>low;j--){
            if(a[j]

 

你可能感兴趣的:(数据结构)