问题 5139 --浩辰的冒泡排序

5139: 浩辰的冒泡排序★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 650  解决: 475
[提交][状态][命题人:]

题目描述

原始的冒泡排序是单向的,它始终是从第一个或者最后一个元素开始扫描。

浩辰对冒泡排序进行了改进,从两端进行扫描,

首先从数组的左端到右端进行扫描,把最大的数往后交换(以升序为例),

再从右端到左端进行扫描,把最小的数往前交换,

多次扫描后,最终得到一个有序的数组。

于是,定义了left和right两个变量,变量left表示左边指针,变量right 表示右边指针,

每一遍排序,左边指针向右边移动一位,右边指针向左边移动一位

一趟排序,把最大值下沉到最后一个,最小值上浮到最前一个,最终让数组有序。

比如排序前的数组为

63 26 93 49 31 14 56 25 24 40

一趟排序后,数组变为:

14 26 63 49 31 24 56 25 40 93

输入

第一行输入一个正整数n<=1000,表示第二行的整数数目

第二行输入n个整数,空格隔开

第三行输入一个大于等于0的整数m,表示几趟排序

输出

输出经过m趟排序后的数组,空格隔开
样例输入
Copy
10
63 26 93 49 31 14 56 25 24 40
1
样例输出
Copy
14 26 63 49 31 24 56 25 40 93

提示

来源

[提交][状态]