题解 | #字符串排序# c++版本

字符串排序

http://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main (void) {

    int n;
    cin >> n;
    string curStr; //当前读入的字符串
    vector<string> str; //排序后的字符串数组

    while (n--) {
        cin >> curStr;
        if(str.size()==0){
            str.push_back(curStr);
            continue;
        }
        for (int i = 0; i < str.size(); i++) {

            //在头部插入
            if (curStr <= str[0]) {
                str.insert(str.begin(), 1, curStr);
                break;
            }

            //在尾部插入
            if (curStr >= str[str.size() - 1]) {
                str.push_back(curStr);
                break;
            }


            //在中间插入
            if (curStr >= str[i] && curStr <= str[i + 1]) {
                str.insert(str.begin() + i + 1, 1, curStr);
                break;
            }
        }
    }

    for (int j = 0; j < str.size(); j++) {
        cout << str[j] << endl;
    }

    return 0;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务