#include <bits/stdc++.h> using namespace std; bool cmp(string s1,string s2){ if(s1.length()!=s2.length()) return s1.length()<s2.length(); else{ //两个字符串长度相等 for(int i =0;i<s1.length();i++){ if(s1[i]!=s2[i]){ return s1[i]<s2[i]; } } } return true; } int main() { int n;cin>>n; vector<string>v; while(n--){ string temp;cin>>temp; v.push_back(temp); } sort(v.begin(),v.end(),cmp); for(auto a:v) cout<<a<<endl; } // 64 位输出请用 printf("%lld")
重写cmp函数