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