题目描述
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
方法一分析:用插入法进行排序,注意要用到getchar()消除回车;
#include <iostream>
#include <vector>
#include <string>
using namespace std;
//插入排序;
int main(){
int n;
while (cin >> n){
vector<string> res;
string s;
getchar();//用getchar()消除回车缓存;
while (n--){ //插入排序;
getline(cin,s);
if (res.empty()) res.push_back(s);
else {
int i = 0;
while (i < res.size()){
if (s < res[i]){
res.insert(res.begin() + i, s); break;
}
i++;
}
if (i == res.size()) res.push_back(s);
}
}
int i = 0; cout << endl