Problem

1 /7


冒泡排序

Theory Click to read/hide

二次排序

排序 - 按给定顺序重新排列数组(列表)的元素。

冒泡法(bubble sort),或简单交换排序。
该类型的不朽经典。操作原理很简单:我们从头到尾遍历数组,同时交换未排序的相邻元素。由于第一个传到最后一个地方,“弹出”最大元素。现在我们再次绕过数组的未排序部分(从第一个元素到倒数第二个元素)并沿途更改未排序的邻居。第二大元素将在倒数第二个位置。继续本着同样的精神,我们将绕过数组中不断减少的未排序部分,将找到的最大值推到最后。
 
来源

该算法的算法实现
<前> 循环 J=1 到 N-1 第 1 步 F=0 循环 I=1 到 N-J-1 第 1 步 如果 A[I] > A[I+1] 然后 交换 A[I],A[I+1] F=1 下一个 IF F=0 THEN EXIT THE LOOP // 如果在传递过程中没有交换,   // 这意味着所有元素   // 排列顺序 下一个J 该算法的复杂度: \(\displaystyle O(n^{2})\)


其他有用信息: 维基百科文章

 

Problem

要求使用“冒泡”方式对数组进行非降序排序。
 
输入
第一行包含一个不超过 1000 的自然数 N –数组大小。第二行包含 N 个数字 –数组元素(整数不超过 1000 的模数)。
 
输出
输出结果数组。
 
例子
<头> <日># <正文>
输入 输出
1
5
5 4 3 2 1
1 2 3 4 5