C++primer 對容器元素重新排序
阿新 • • 發佈:2017-12-18
out clas gin txt 重新 urn ras tle prime
1 #include<iostream> 2 #include<string> 3 #include<algorithm> 4 #include<fstream> 5 #include<vector> 6 #include<sstream> 7 8 using namespace std; 9 10 11 bool isShorter(const string &s1,const string &s2) 12 { 13 return s1.size()<s2.size();14 } 15 16 bool GT6(const string &s){ 17 return s.size()>=6; 18 } 19 20 21 int main() 22 { 23 ifstream infile; 24 infile.open("input.txt"); 25 string line; 26 vector<string> words; 27 28 getline(infile,line); 29 istringstream line1(line); 30 string word;31 while(line1>>word) 32 words.push_back(word); 33 for(vector<string>::size_type num=0;num!=words.size();++num) 34 cout<<words[num]<<" "; 35 cout<<endl; 36 37 sort(words.begin(),words.end()); 38 39 for(vector<string>::size_type num=0;num!=words.size();++num) 40 cout<<words[num]<<" "; 41 cout<<endl; 42 43 vector<string>::iterator end_unique= 44 unique(words.begin(),words.end()); 45 46 47 for(vector<string>::size_type num=0;num!=words.size();++num) 48 cout<<words[num]<<" "; 49 cout<<endl; 50 51 words.erase(end_unique,words.end()); 52 53 54 for(vector<string>::size_type num=0;num!=words.size();++num) 55 cout<<words[num]<<" "; 56 cout<<endl; 57 58 stable_sort(words.begin(),words.end(),isShorter); 59 60 61 for(vector<string>::size_type num=0;num!=words.size();++num) 62 cout<<words[num]<<" "; 63 cout<<endl; 64 65 vector<string>::size_type wc=count_if(words.begin(),words.end(),GT6); 66 cout<<wc<<endl; 67 68 69 }
文本內容:
the quick red fox jumps over the slow red turtle
C++primer 對容器元素重新排序