问题
使用vector和set添加不重复的单词.
源代码
1.使用vector添加不重复的单词.
使用vector添加不重复的单词,比较麻烦,推荐是使用set.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /************************************************************************* > File Name: test.11.8.cpp > Author: puruidong > Mail: 1@w1520.com > Created Time: 2014年06月30日 ************************************************************************/ #include<iostream> #include<vector> using namespace std; /****************************** 编写一个程序,在一个vector而不是一个set中保存不重复的单词。使用set的优点是什么. *******************************/ int main() { vector<string> vec; string pa; cout << "使用vector保存不重复的单词,请输入单词:" << endl; bool check = false ; while(cin >> pa) { check = false; for(const auto &v : vec) { if(v==pa) { check=true; } } if(!check) { vec.push_back(pa); } } cout << "***********************************" << endl; cout << "下面输出结果:" << endl; for(const auto &vc:vec) { cout << vc << endl; } return 0; } |
2.set添加不重复单词.
推荐使用这种方式添加,因为set内保存的本身就属于不重复的元素.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /************************************************************************* > File Name: test.11.8.1.cpp > Author: puruidong > Mail: 1@w1520.com > Created Time: 2014年06月30日 ************************************************************************/ #include<iostream> #include<set> using namespace std; /******************************** 使用set添加元素. ****************************************/ int main() { set<string> st; cout << "向set添加元素[不可重复]:" << endl; string pa; while(cin >> pa) { st.insert(pa); } cout << "****************************" << endl; cout << "下面输出添加的结果:" << endl; for(const auto &s:st) { cout << s << endl; } return 0; } |