1427: 优化冒泡排序

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

题目描述

冒泡排序经典算法:将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N-1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。

冒泡排序优化算法之一:设置一个标记位来标记是否发生了交换,如果没有发生交换就提前结束。每次进入内层循环前清标记位,若有交换,则置标志位;出内层循环时,判断标记位是否置位,若未置位,则表示数组已经有序,退出循环。

该算法的优势在于对有些数列进行冒泡排序,减少了程序运行时间。

输入5个整型数,输出每次比较后的标记位值,清标记位用0表示,置标记位用1表示,最后输出升序排列。

输入

输入5个整型数

输出

输出其长度

输出标记位

输出升序序列

样例输入 复制

34 2 56 1 76

样例输出 复制

flag=1
flag=1
flag=1
flag=1
1
2
34
56
76