重點是直接輸入數字會溢位(超過long),所以我輸入的是字串,用比較的方式去做排序
1.長度有沒有一樣
2.(條件1成立)由左到右比較字元是否相同
同=>轉ACSCII誰大
不同=>繼續執行做比較直到字串結束
bool compare(string a, string b) {
if(a.size()!=b.size()){
return a.size()<b.size();
}
else{
for(int i=0;i<a.size();i++){
if(a[i]!=b[i])return (int)a[i]<(int)b[i];
}
}
}
Main:
string line,data;
vector<string>v,v2;
cin.ignore();
getline(cin,line);
stringstream ss(line);
while(getline(ss,data,' ')){
v.push_back(data);
}
sort(v.begin(),v.end(),compare);
排列組合用遞迴:不做說明