它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
现要求给定n(n<=10)个整数m(0<=m<=2^31-1),将n个数进行冒泡从大到小排序,并优化排序过程,需输出每一步排序数字。)
第1行1个正整数n,表示数的个数,n≤10;
第2行n个整数(之间用一个空格隔开),这些数在0~2^31-1之间。
输出每一次排序结果。
5 23 22 1 67 3
23 22 67 3 1 23 67 22 3 1 67 23 22 3 1
10 9 84 63 9 18 79 92 61 30 2010
84 63 9 18 79 92 61 30 2010 9 84 63 18 79 92 61 30 2010 9 9 84 63 79 92 61 30 2010 18 9 9 84 79 92 63 61 2010 30 18 9 9 84 92 79 63 2010 61 30 18 9 9 92 84 79 2010 63 61 30 18 9 9 92 84 2010 79 63 61 30 18 9 9 92 2010 84 79 63 61 30 18 9 9 2010 92 84 79 63 61 30 18 9 9
注意:如果冒泡排序后已经是从大到小的顺序则无需再进行排序。