欢迎大家访问我的BLOG,我会多多的出原创文章,希望大家支持我,为我祈祷,让我实现我的三个梦想!再30岁能成为一个名优秀的软件架构师!

(转)C#冒泡算法

 参加多次笔试,居然有几次都考到了冒泡算法,一次是C#版的填空,一次是javascript版的全部写出。
  虽然每次都凭着我对冒泡法的理解给弄出来的,但是多多少少与标准模式有点差别,在网上搜了一下关于C#版的冒泡算法,居然也没有一个象样的,自己对照算法模式认真写了一个C#版的,已经测试成功。

    class Program
    {
        static void Main()
        {
            int[] R ={ 9, 2, 8, 4, 7, 6 };
            BubbleSort(R);
            foreach (int i in R)
            {
                Console.WriteLine(i);
            }

            Console.Read();
           
        }
         public static void BubbleSort(int[] R)
          {
              int i, j, temp; //9 2 8 4 7 6
              //交换标志
              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;
                  }
              }
          }  
    }

posted on 2009-10-26 15:10  程序缘  阅读(232)  评论(0编辑  收藏  举报

导航