描述
对于给定的 n 个字符串,进行如下的排序:
首先按字符串长度从小到大排序当字符串长度相同时,按字典序从小到大排序 现在,你需要编程实现这样的排序功能。
输入
输入有n+1 行:
第一行为一个整数 n,0<n≤10000;
接下来 n 行,每行有一个字符串,字符串的长度均不超过 1000。
输出
输出 n 行,依次为按照题目要求排序后的字符串,每行一个。
样例
输入
5
abcd
abc
go
fyojfyoj
zero
输出
go
abc
abcd
zero
fyojfyoj
#include <bits/stdc++.h>
using namespace std;
bool cmp(string a, string b) {
if (a.size() != b.size()) {
return a.size() < b.size();
}
return a < b;
}
int main() {
int n;
string c[11000];
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> c[i];
}
sort(c, c + n + 1, cmp);
for (int i = 1; i <= n; i++) {
cout << c[i] << endl;
}
return 0;
}