题目描述
使用冒泡排序对输入的n个数字进行升序排列。
可知每趟冒泡排序会冒一个当前最大数字到后面,一共需要n-1趟冒泡操作。
依次输出每趟排序的结果。
输入
第一行一个数n,
第二行n个待排序的数字ai。
输出
n-1行,每行n个用空格隔开的数字,表示这一次的结果。
输入样例
4
4 3 2 1
输出样例
3 2 1 4
2 1 3 4
1 2 3 4
以下是代码:
#include <iostream>
#include <cmath>
using namespace std;
int n,s[1001];
int main(){
cin >> n;
for (int i=1;i<=n;i++){
cin >> s[i];
}
for (int i=1;i<n;i++){
for (int j=1;j<=n-i;j++){
if(s[j]>s[j+1]){
swap(s[j],s[j+1]);
}
}
for (int i=1;i<=n;i++){
cout << s[i] << " ";
}
cout << endl;
}
return 0;
}
有错误请指正
喜欢的话可以点赞三连一下哦 (么么么喵喵喵木马)