题目描述 给定n个字符串,请对n个字符串按照字典序排列。 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述: 数据输出n行,输出结果为按照字典序排列的字符串。 (注意:元素可以重复)
输入例子: 9 cap to cat card two too up boat boot
输出例子: boat boot cap card cat to too two up
解答:#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;int main(){ string str; int n; vector<string>v; while(cin>>n) { v.clear(); while(n>=1) { getline(cin,str); v.push_back(str); --n; } getline(cin,str); v.push_back(str); vector<string>::iterator it1=v.begin(); ++it1; sort(it1,v.end()); vector<string>::iterator it=v.begin(); ++it; for(;it!=v.end();it++) { cout<<*it<<endl; } } return 0;}解法二://当元素加入set中后,已经排好序#include <iostream>#include <string>#include <set>using namespace std;int main(){ string s; multiset<string> sset; int n; cin >> n; while (n-- && cin >> s) sset.insert(s); for (auto &t : sset) cout << t << endl; return 0;}新闻热点
疑难解答