Problem2656--冒泡排序(只比一轮)

2656: 冒泡排序(只比一轮)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 184  Solved: 102
[Status] [Submit] [Creator:]

Description

 n 个整数,从左往右排列成一排。

你需要从左往右依次比较每一对相邻的数字,如果这对相邻的数字中左边的大于右边的,则交换2个数;否则,不进行任何操作。

举个例子,假设初始时有 6 个数从左到右依次为 [2, 1, 3, 6, 4, 5],则:  

- 先比较 2(第 1 个数)和 1(第 2 个数),因为 2 > 1,所以需要交换它们,交换后这 6 个数的排列变为 [1, 2, 3, 6, 4, 5];
- 再比较 2(第 2 个数)和 3(第 3 个数),因为 2 并不大于 3,所以不需要交换;
- 再比较 3(第 3 个数)和 6(第 4 个数),因为 3 并不大于 6,所以不需要交换;
- 再比较 6(第 4 个数)和 4(第 5 个数),因为 6 > 4,所以需要交换它们,交换后这 6 个数的排列变为 [1, 2, 3, 4, 6, 5];
- 最后比较 6(第 5 个数)和 5(第 6 个数),因为 6 > 5,所以需要交换它们,交换后这 6 个数的排列变为 [1, 2, 3, 4, 5, 6]。

你需要输出进行完一轮后这 n 个数最终的排列。  

Input

第一行,一个整数 n(2 ≤ n ≤ 1000)。

第二行,n 个整数,两两之间以一个空格分隔。每个整数均为不超过 1000 的正整数。  

Output

输出共一行,包含 n 个整数,两两之间以一个空格分隔。表示最终 n 个数从左往右的排列。  

Sample Input Copy

6
170 145 150 155 180 165

Sample Output Copy

145 150 155 170 165 180

Source/Category