【D-OJ】输出起泡排序算法每趟的结果 题目编号:197
输入描述
第一行输入待排序记录个数 第二行输入待排序序列
输出描述
输出每一趟排序的结果,每趟占一行,当排序中间过程序列相同时,不输出,请参看输出样例
输入样例
10 17 5 22 87 8 10 1 23 68 2
输出样例
5 17 22 8 10 1 23 68 2 87 5 17 8 10 1 22 23 2 68 87 5 8 10 1 17 22 2 23 68 87 5 8 1 10 17 2 22 23 68 87 5 1 8 10 2 17 22 23 68 87 1 5 8 2 10 17 22 23 68 87 1 5 2 8 10 17 22 23 68 87 1 2 5 8 10 17 22 23 68 87
#include <iostream> using namespace std; int main () { int a; cin >> a; int b[a]; for (int i = 0; i < a;i++) { cin >> b[i]; } int exchange = a-1; int bound = 0; while (exchange != 0) { bound = exchange; exchange = 0; for (int j = 0;j < bound;j++) { if (b[j] > b[j+1]) { int temp = b[j]; b[j] = b[j+1]; b[j+1] = temp; exchange = j; } } if (exchange != 1) { for (int i = 0;i < a;i++) { cout<< b[i] << " "; } } } return 0; }