题解 | #大整数排序#
大整数排序
https://www.nowcoder.com/practice/b744af632ac4499aa485d7bb048bb0aa
//不用sort,当然用sort更简单 #include <iostream> #include<map> using namespace std; void Mysort(map<int,string>&v,int n) { for(int j=0;j<n;j++) { for(int i=0;i<n-1;i++) { if(v[i].length()>v[i+1].length()) { string t=v[i]; v[i]=v[i+1]; v[i+1]=t; } else if(v[i].length()==v[i+1].length()) { if(v[i]>v[i+1]) { string t=v[i]; v[i]=v[i+1]; v[i+1]=t; } } } } } int main() { int n; cin>>n; map<int,string>v; for(int i=0;i<n;i++) { cin>>v[i]; } Mysort(v,n); for(int i=0;i<n;i++) { cout<<v[i]<<endl; } return 0; } // 64 位输出请用 printf("%lld")