冒泡排序(一)

  冒泡排序算是一种比较经典的排序算法了,我对这个还是记忆比较深的,因为当时记得大学的时候上C 语言课程的时候,老师找了四五个同学到讲台上面,

很荣幸,我就是那其中之一,然后生动的给我们演示了一下冒泡排序,由于我身高还算是比较高的,所以,在第一次冒泡的时候,我就被固定住了,然后就

静静的看着我的同学一次又一次跑到我身边;

  比对的过程就跟下面的图一样,此图非原创,原创作者是园友“五分钟算法”,很值得推荐的一个博主,努力向大佬学习 ;

 

由于比较熟悉C# ,所以分别用for和while 实现了冒泡排序,其实,编程语言不重要,重要的是算法思想,算法逻辑;

一:For循环实现:

        for (int i = 0; i<arr.Length - 1; i++)
        {
            for (int j = 0; j<arr.Length - i - 1; j++)
            {
                if (arr[j] < arr[j + 1])
                {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }        

二:While循环实现:

       int i = 0;
       while (i <= arr.Length + 1)
       {
           int j = 0;
           while (j < arr.Length - i - 1)
           {
               if (arr[j] < arr[j + 1])   //如果左边比右边小,左右换位置
               {
                   T temp = arr[j];
                   arr[j] = arr[j + 1];
                   arr[j + 1] = temp;
                }
                j++;
           }
          i++;
       }    

 

posted @ 2019-05-18 16:15  好奇未必害死猫  阅读(188)  评论(0编辑  收藏  举报