蛮力法解决冒泡排序
题目内容
用蛮力法解决冒泡排序问题。其循环格式如下图所示。
输入要求
多组输入
每组数据首先输入一个整数n(0<n<100),然后输入n个待排序的整数
输出要求
每组数据输出n-1行,表示算法中n-1次扫描并交换的结果。
注意:每个数字后面均有一个空格
测试数据
输入
7
2 6 -4 3 1 0 9
2
1 2
输出
-4 2 6 0 3 1 9
-4 0 2 6 1 3 9
-4 0 1 2 6 3 9
-4 0 1 2 3 6 9
-4 0 1 2 3 6 9
-4 0 1 2 3 6 9
1 2
参考答案
#include <iostream>
using namespace std;
int main()
{
int n;
while (cin >> n)
{
int *a = new int[n+1];
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
for (int i = 0; i < n-1; i++)
{
for (int j = n-1; j > 0; j--)
{
if (a[j] < a[j-1])
{
int temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
for (int m = 0; m < n; m++)
{
cout << a[m] << " ";
}
cout << "\n";
}
}
}