数字排序(数字个数不确定)

排序。输入n,有n组组测试数

输入样例

2

1 4 7 2 5

8 9 4 3

输出样例

1 2 4 5 7

3 4 8 9 

代码如下:

#include <iostream>
#include <vector>
#include <string>
using namespace std;

vector<int> bubbleSort(vector<int> A, int n) {
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-1-i; j++) {
            if (A[j] > A[j+1]) {
                int temp = A[j];
                A[j] = A[j+1];
                A[j+1] = temp;
            }
        }
    }
    return A;
}

vector<int> splitNumber(string s) {
    vector<int> res;
    int temp = 0;
    int num = 0;
    for (int i = 0; i < s.length(); i++) {
        if (s[i] == ' ') {
            res.push_back(num);
            num = 0;
        } else {
            temp = s[i]-'0';
            num = num*10+temp;
        }
    }
    res.push_back(num);
    return res;
}

int main() {

    int n;

    cin >> n;
    string s;
    
    //清空缓冲区,防止getline函数发生异常
    cin.ignore();
    for (int i = 0; i < n; i++) {

        getline(cin, s);
        vector<int> v = splitNumber(s);
        v = bubbleSort(v, v.size());
        for (int j = 0; j < v.size(); j++) {
            cout << v[j] << " ";
        }
        cout << endl;
    }



    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_32273417/article/details/87868551