//由于对字符串直接排序会直接比较各位而不是先比较字符串的长度 //因此将字符串的长度直接插入至字符串开始处 //这样比较时就会先比较长度,长度相同时再依次比较各位 #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { int n; cin>>n; vector<string>data(n); for(int i=0;i<n;i++) { cin>>data[i]; data[i].insert(data[i].begin(),char(data[i].length())); //将字符串长度插入字符串首 } sort(data.begin(),data.end()); for(int i=0;i<n;i++) { cout<<data[i].substr(1,data[i].length()-1)<<endl; //输出时将串首的长度剪去 } return 0; }