?:,reverse,vector的基本小結
阿新 • • 發佈:2018-04-05
urn 裏的 小結 問題 str con 一個數 ostream return
1 #include <cstdio> //此代碼為網上所復制 2 #include <iostream> 3 #include <string> 4 #include <set> 5 #include <algorithm> 6 #include <vector> 7 using namespace std; 8 9 bool Comp(const string &s1, const string &s2) 10 { 11 return s1.length() != s2.length() ? s1.length()<s2.length() : s1<s2;12 } 13 int main() 14 { 15 vector<string> v; 16 string t, s; 17 int n; 18 cin >> n; 19 getchar(); 20 while (n--) 21 { 22 getline(cin, s); 23 t = s; 24 //反轉字符串,用來判斷字符是否對稱 25 reverse(t.begin(), t.end()); 26 if (t == s) 27 {28 v.push_back(s); 29 } 30 } 31 sort(v.begin(), v.end(), Comp); 32 for (int i = 0; i<v.size(); i++) 33 { 34 cout << v[i] << endl; 35 } 36 return 0; 37 }
vector可以當作一個動態數組用,遍歷的時候也可以當做是一個數組,因為可以隨機訪問,所以可以使用sort等algorithm裏的函數
註意:下次如果遇到關於字符串倒轉問題時首先考慮翻轉reverse;
還有(1)?(2):(3)的意思,1式為判斷,true返回2式,flase返回3式
?:,reverse,vector的基本小結