打印本文 打印本文  关闭窗口 关闭窗口  
编程初学者练习编程(4)双向冒泡
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:39:02  文章录入:杜斌  责任编辑:杜斌

#include<stdio.h>//双向冒泡
void Bubble2Sort(int* pData,int Count){
  int iTemp,t,i;
  int left = 1;
  int right =Count-1;
  do{
    for(i=right;i>=left;i--){
      if(pData[i]<pData[i-1]){
        iTemp = pData[i];
        pData[i] = pData[i-1];
        pData[i-1] = iTemp;
        t = i;
      }
     }
     left = t+1;
     for(i=left;i<right+1;i++){
      if(pData[i]<pData[i-1]){
        iTemp = pData[i];
        pData[i] = pData[i-1];
        pData[i-1] = iTemp;
        t = i;
      }
    }
    right = t-1;
  }while(left<=right);
}
void main(){
    int a[11]={0,1,3,5,7,9,10,8,6,4,2};
    int i,j;
   // printf("input 10 numbers : \n");
    //for (i=1;i<11;i++)
   // scanf("%d ",&a[i]);
   // printf("10 numbers : % d\n", a);
    Bubble2Sort(a,11);
    for(i=0;i<=10;i++){
       printf("a[%d]=%d   ",i,a[i]);
    }
    printf("\n");
}

打印本文 打印本文  关闭窗口 关闭窗口