题解 | 大整数排序
#include<iostream> #include<string> #include<algorithm> #include<vector> using namespace std; struct number{ string num; }; bool operator<(const number& str1,const number& str2){ if(str1.num.length()!=str2.num.length()){ return str1.num.length()<str2.num.length(); }else{ return str1.num<str2.num; } } /* *ky224 大整数排序 * */ int main(){ int n; while(std::cin>>n){ struct number numbers[n]; //将字符串保存到数组中 for(int i = 0;i<n;i++){ std::cin>>numbers[i].num; } sort(numbers,numbers+n); for(int i = 0;i<n;i++){ std::cout<<numbers[i].num<<std::endl; } } }