冒泡排序

允我心安 提交于 2020-01-17 02:18:04

在观看了关于数组的内容了后,有一个关于排序的视频,这就是冒泡排序,那么关于它的解释是这样的:“它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。”这个是来自百度百科的。

但是在看视频后要有自己的理解,通俗一些就是有一堆数字需要你去排序,但是需要一个个来比较,毕竟计算机一次只干一件事,就是处理的快,所以呢对于冒泡的排序就是我们在一堆数字当中,让第一个数字进行比较,然后如果大于这个数那我们就让它进行位置交换,然后和后面的继续交换,当然如果这个数字小于被比较的那这个被比较的数字就待在这个位置不动,比较的数字继续向后和后面的数字进行比较,当第一轮的数字比较完之后,还是从第一个数字进行开始比较一直循环到这组数排序完成。

            int[] nums = new int[] { 45, 34, 65, 23, 656, 23 };
            int temp = 0;
            for (int j = 0; j < nums.Length - 1; j++)  //所代表的是几轮比较
            {
                for (int i = 0; i < nums.Length - 1 - j; i++) //这个代表的是这一轮的几次比较
                {
                    if (nums[i] > nums[i + 1])
                    {
                        temp = nums[i];
                        nums[i] = nums[i + 1];

                        nums[i + 1] = temp;
                    }
                }
            }
            for (int i = 0; i < nums.Length; i++) //遍历数组内的数值然后打印
            {
                Console.Write(nums[i] + "\t");
            }
            Console.ReadKey();

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!