1018: 冒泡排序

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:243 解决:76

题目描述

输入n及n个不超过10000的正整数,用冒泡排序算法将数据按从小到大的顺序输出。

输入

输入文件data.in共二行
第一行只有一个正整数:n
第二行共有n个正整数,数与数之间有一个空格

输出

输出文件data.out共二行
第一行只有一个正整数:k 表示规范的冒泡排序算法中数据交换的总次数
第二行共有n个按从小到大排序后的正整数,数与数之间有一个空格

样例输入 复制

5
1 5 4 2 3

样例输出 复制

5
1 2 3 4 5

提示

【样例说明】
第一轮冒泡排序时:2与4交换、2与5交换,共交换了2次,结果为 1 2 5 4 3
第二轮冒泡排序时:3与4交换、3与5交换,共交换了2次,结果为 1 2 3 5 4
第三轮冒泡排序时:4与5交换,只交换了1次,结果为 1 2 3 4 5
第四轮冒泡排序时:无数据交换,结果也是 1 2 3 4 5
四轮冒泡排序过程中,共进行了5次数据交换
【数据规模】

30% 的数据: 2 <= n <= 10
70% 的数据: 2 <= n <= 100
100% 的数据: 2 <= n <= 1 000

来源/分类