• 冒泡排序(一)


      冒泡排序算是一种比较经典的排序算法了,我对这个还是记忆比较深的,因为当时记得大学的时候上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++;
           }    
  • 相关阅读:
    new
    如何在win7上面安装python的包
    进程
    网络编程模块的使用
    面向对象基础与实例
    类与对象的属性与使用方法
    基础面向对象与面向过程
    RE模块垃圾回收机制
    常用函数模块
    thinkphp6 find_in_set使用实例
  • 原文地址:https://www.cnblogs.com/Rawls/p/10886108.html
Copyright © 2020-2023  润新知