本题很容易,利用STL库里的sort()函数中的自定义比较器,即可实现。

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

static bool cmp(const string& a, const string& b) {
    return a < b;
}

int main() {
    int N;
    cin >> N;
    cin.get();
    string s;
    vector<string> str_arr;
    for (int n = 0; n < N; n++) {
        getline(cin, s, '\n');
        str_arr.push_back(s);
        s.clear();
    }
    sort(str_arr.begin(), str_arr.end(), cmp);
    
    for (vector<string>::iterator iter = str_arr.begin(); iter != str_arr.end(); iter++) {
        cout << *iter << endl;
    }

    return 0;
}