public void BubbleSort(int[] R)
  {   
      int i,j,temp;
      //交换标志
      bool exchange;
      //最多做R.Length-1趟排序
      for(i=0; i<R.Length; i  )
      {
          //本趟排序开始前,交换标志应为假
          exchange=false;
          for(j=R.Length-2; j>=i; j--)
          {
              //交换条件
              if(R[j 1]<R[j])
              {
                  temp=R[j 1];
                  R[j 1]=R[j];
                  R[j]=temp;
                  //发生了交换,故将交换标志置为真
                  exchange=true;
              }
          }
          //本趟排序未发生交换,提前终止算法
          if(!exchange)
          {
              break;
          }
      }
  }

本文转载:CSDN博客