Problem D: 10个数排序(一维数组 冒泡排序)
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:21
Solved:13
Description
输入十个正整数,然后把这十个数按由小到大的顺序输出
Input
输入十个正整数
Output
输出十个正整数
Sample Input Copy
1 3 5 7 9 2 4 6 8 10
Sample Output Copy
1 2 3 4 5 6 7 8 9 10
HINT
可参看小学生C++趣味编程下册64课,书中是从大到小排,这道题要求从小到大排
视频讲解:https://www.bilibili.com/video/BV1HZ4y1674v/?spm_id_from=333.788.videopod.episodes&vd_source=ed609f9463861996afb742d2bd8b5a46&p=2
视频讲解:https://www.bilibili.com/video/BV1HZ4y1674v/?spm_id_from=333.788.videopod.episodes&vd_source=ed609f9463861996afb742d2bd8b5a46&p=2
冒泡排序是一种简单的排序算法,它通过重复遍历要排序的数列,比较每对相邻元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
以下是冒泡排序的基本思想和步骤:
-
比较相邻的元素:首先比较数列的第一个和第二个元素,如果第一个元素比第二个元素大,就交换他们。
-
对每一对相邻元素做同样的工作:从开始第一对到结尾的最后一对,对每一对相邻元素做同样的工作。
-
重复以上的步骤:针对整个数列重复以上的步骤,除了最后一个元素。在每一次的遍历中,不需要比较最后的元素,因为它们已经在它们应该在的位置。
-
继续这个过程:持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
-
排序完成:当走完数组的最后一趟,没有发生任何交换时,数组已经排序完成。
冒泡排序的算法复杂度为O(n^2),其中n是数列的长度。这意味着对于大型数据集,冒泡排序的效率非常低。尽管如此,冒泡排序由于其简单性,仍然是一个在教育中常用的算法,尤其是在教授排序和算法概念时。