给你 n 个整数,从左往右排列成一排。
你需要从左往右依次比较每一对相邻的数字,如果这对相邻的数字中左边的那个数字大于右边的那个数字,则你需要交换它们的位置;否则,你不需要进行任何操作。
更具体一点地说:
- 你需要先比较从左往右第 1 个数和第 2 数,如果第 1 个数大于第 2 个数,则交换它们的位置;
- 然后你需要比较从左往右第 2 个数和第 3 数,如果第 2 个数大于第 3 个数,则交换它们的位置;
- ……
- 最后你需要比较从左往右第 n-1 个数(倒数第 2 个数)和第 n 数(最后一个数),如果第 n-1 个数大于第 n 个数,则交换它们的位置。
举个例子,假设初始时有 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-1 次比较操作后这 n 个数最终的排列。