演算法雙端氣泡排序

dongyu2013發表於2014-03-29

點選(此處)摺疊或開啟

  1. void BidBubbleSort( int array[], int n)
  2. {
  3.    int low, high, flag, i;
  4.    low = 0;
  5.    high = n-1;
  6.    while(low<high)
  7.    {
  8.      flag=0;
  9.      for(i=low; i<high; i++)
  10.      {
  11.          if(array[i]>array[i+1])
  12.          {
  13.              swap(&array[i], &array[i+1]);
  14.              flag=1;
  15.          }
  16.      }
  17.      if(!flag)
  18.      {
  19.         break;
  20.      }
  21.      high--;
  22.      for(i=high; i>low; i--)
  23.      {
  24.          if(array[i]<array[i-1])
  25.          {
  26.             swap(&array[i], &array[i+1]);
  27.          }
  28.      }
  29.        low++;
  30.    }
  31. }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29012686/viewspace-1132171/,如需轉載,請註明出處,否則將追究法律責任。

相關文章