题目描述
给定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 <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
string input;
vector<string>arr;
while (n--) {
cin >> input;
arr.push_back(input);
}
sort(arr.begin(), arr.end());
for (vector<string>::iterator it = arr.begin(); it != arr.end(); it++)
cout << *it << endl;
system("pause");
return 0;
}
注释
sort排序
#include<algorithm>
sort(vec.begin(),vec.end());//默认是按升序排列,即从小到大
可以通过重写排序比较函数按照降序比较,如下:
定义排序比较函数:
bool Comp(const int &a,const int &b)
{
return a>b;
}
sort(vec.begin(),vec.end(),Comp);//调用时降序排序