一、vector的简单应用

#include <iostream>

#include <vector>

using namespace std;

int main()

{

vector<char> charVector;


int x;

for (x=0; x<10; ++x)

charVector.push_back(65 + x);


int size = charVector.size();

for (x=0; x<size; ++x)

{

vector<char>::iterator iter;

for (iter = charVector.begin(); iter != charVector.end(); iter++)

{

cout << *iter<<endl;

}

}


return 0;

}


二、deque的简单应用




  1. #include <iostream>

  2. #include <deque>

  3. int main()

  4. {

  5. std::deque<char> charDeque;

  6. int x;

  7. for (x=0; x<10; ++x)

  8. charDeque.push_front(65 + x);

  9. int size = charDeque.size();

  10. for (x=0; x<size; ++x)

  11. {

  12. std::deque<char>::iterator start =

  13. charDeque.begin();

  14. charDeque.erase(start);

  15. std::deque<char>::iterator iter;

  16. for (iter = charDeque.begin();

  17. iter != charDeque.end(); iter++)

  18. {

  19. std::cout << *iter;

  20. }

  21. std::cout << std::endl;

  22. }

  23. return 0;

  24. }

三、list的简单应用



  1. #include <iostream>

  2. #include <list>

  3. int main()

  4. {

  5. // Create and populate the list.

  6. int x;

  7. std::list<char> charList;

  8. for (x=0; x<10; ++x)

  9. charList.push_front(65 + x);

  10. // Display contents of list.

  11. std::cout << "Original list: ";

  12. std::list<char>::iterator iter;

  13. for (iter = charList.begin();

  14. iter != charList.end(); iter++)

  15. {

  16. std::cout << *iter;

  17. //char ch = *iter;

  18. //std::cout << ch;

  19. }

  20. std::cout << std::endl;

  21. // Insert five Xs into the list.

  22. std::list<char>::iterator start = charList.begin();

  23. charList.insert(++start, 5, 'X');

  24. // Display the result.

  25. std::cout << "Resultant list: ";

  26. for (iter = charList.begin();

  27. iter != charList.end(); iter++)

  28. {

  29. std::cout << *iter;

  30. //char ch = *iter;

  31. //std::cout << ch;

  32. }

  33. return 0;

  34. }


四、set的简单应用



  1. #include <iostream>

  2. #include <set>

  3. int main()

  4. {

  5. // Create the set object.

  6. std::set<char> charSet;

  7. // Populate the set with values.

  8. charSet.insert('E');

  9. charSet.insert('D');

  10. charSet.insert('C');

  11. charSet.insert('B');

  12. charSet.insert('A');

  13. // Display the contents of the set.

  14. std::cout << "Contents of set: " << std::endl;

  15. std::set<char>::iterator iter;

  16. for (iter = charSet.begin(); iter != charSet.end(); iter++)

  17. std::cout << *iter << std::endl;

  18. std::cout << std::endl;

  19. // Find the D.

  20. iter = charSet.find('D');

  21. if (iter == charSet.end())

  22. std::cout << "Element not found.";

  23. else

  24. std::cout << "Element found: " << *iter;

  25. return 0;

  26. }


五、multiset的简单应用



  1. #include <iostream>

  2. #include <set>

  3. int main()

  4. {

  5. // Create the first set object.

  6. std::multiset<char> charMultiset1;

  7. // Populate the multiset with values.

  8. charMultiset1.insert('E');

  9. charMultiset1.insert('D');

  10. charMultiset1.insert('C');

  11. charMultiset1.insert('B');

  12. charMultiset1.insert('A');

  13. charMultiset1.insert('B');

  14. charMultiset1.insert('D');

  15. // Display the contents of the first multiset.

  16. std::cout << "Contents of first multiset: " << std::endl;

  17. std::multiset<char>::iterator iter;

  18. for (iter = charMultiset1.begin();

  19. iter != charMultiset1.end(); iter++)

  20. std::cout << *iter << std::endl;

  21. std::cout << std::endl;

  22. // Create the second multiset object.

  23. std::multiset<char> charMultiset2;

  24. // Populate the multiset with values.

  25. charMultiset2.insert('J');

  26. charMultiset2.insert('I');

  27. charMultiset2.insert('H');

  28. charMultiset2.insert('G');

  29. charMultiset2.insert('F');

  30. charMultiset2.insert('G');

  31. charMultiset2.insert('I');

  32. // Display the contents of the second multiset.

  33. std::cout << "Contents of second multiset: "

  34. << std::endl;

  35. for (iter = charMultiset2.begin();

  36. iter != charMultiset2.end(); iter++)

  37. std::cout << *iter << std::endl;

  38. std::cout << std::endl;

  39. // Compare the sets.

  40. if (charMultiset1 == charMultiset2)

  41. std::cout << "set1 == set2";

  42. elseif (charMultiset1 < charMultiset2)

  43. std::cout << "set1 < set2";

  44. elseif (charMultiset1 > charMultiset2)

  45. std::cout << "set1 > set2";

  46. return 0;

  47. }


六、map的简单应用



  1. #include <iostream>

  2. #include <map>

  3. typedef std::map<int, char> MYMAP;

  4. int main()

  5. {

  6. // Create the first map object.

  7. MYMAP charMap1;

  8. // Populate the first map with values.

  9. charMap1[1] = 'A';

  10. charMap1[4] = 'D';

  11. charMap1[2] = 'B';

  12. charMap1[5] = 'E';

  13. charMap1[3] = 'C';

  14. // Display the contents of the first map.

  15. std::cout << "Contents of first map: " << std::endl;

  16. MYMAP::iterator iter;

  17. for (iter = charMap1.begin();

  18. iter != charMap1.end(); iter++)

  19. {

  20. std::cout << (*iter).first << " --> ";

  21. std::cout << (*iter).second << std::endl;

  22. }

  23. std::cout << std::endl;

  24. // Create the second map object.

  25. MYMAP charMap2;

  26. // Populate the first map with values.

  27. charMap2[1] = 'F';

  28. charMap2[4] = 'I';

  29. charMap2[2] = 'G';

  30. charMap2[5] = 'J';

  31. charMap2[3] = 'H';

  32. // Display the contents of the second map.

  33. std::cout << "Contents of second map: " << std::endl;

  34. for (iter = charMap2.begin();

  35. iter != charMap2.end(); iter++)

  36. {

  37. std::cout << (*iter).first << " --> ";

  38. std::cout << (*iter).second << std::endl;

  39. }

  40. std::cout << std::endl;

  41. // Compare the maps.

  42. if (charMap1 == charMap2)

  43. std::cout << "map1 == map2";

  44. elseif (charMap1 < charMap2)

  45. std::cout << "map1 < map2";

  46. elseif (charMap1 > charMap2)

  47. std::cout << "map1 > map2";

  48. return 0;

  49. }


七、multimap的简单应用



  1. #include <iostream>

  2. #include <map>

  3. typedef std::multimap<int, char> MYMAP;

  4. int main()

  5. {

  6. // Create the first multimap object.

  7. MYMAP charMultimap;

  8. // Populate the multimap with values.

  9. charMultimap.insert(MYMAP::value_type(1,'A'));

  10. charMultimap.insert(MYMAP::value_type(4,'C'));

  11. charMultimap.insert(MYMAP::value_type(2,'B'));

  12. charMultimap.insert(MYMAP::value_type(7,'E'));

  13. charMultimap.insert(MYMAP::value_type(5,'D'));

  14. charMultimap.insert(MYMAP::value_type(3,'B'));

  15. charMultimap.insert(MYMAP::value_type(6,'D'));

  16. // Display the contents of the first multimap.

  17. std::cout << "Contents of first multimap: " << std::endl;

  18. MYMAP::iterator iter;

  19. for (iter = charMultimap.begin();

  20. iter != charMultimap.end(); iter++)

  21. {

  22. std::cout << (*iter).first << " --> ";

  23. std::cout << (*iter).second << std::endl;

  24. }

  25. std::cout << std::endl;

  26. // Create the second multimap object.

  27. MYMAP charMultimap2;

  28. // Populate the second multimap with values.

  29. charMultimap2.insert(MYMAP::value_type(1,'C'));

  30. charMultimap2.insert(MYMAP::value_type(4,'F'));

  31. charMultimap2.insert(MYMAP::value_type(2,'D'));

  32. charMultimap2.insert(MYMAP::value_type(7,'E'));

  33. charMultimap2.insert(MYMAP::value_type(5,'F'));

  34. charMultimap2.insert(MYMAP::value_type(3,'E'));

  35. charMultimap2.insert(MYMAP::value_type(6,'G'));

  36. // Display the contents of the second multimap.

  37. std::cout << "Contents of second multimap: " << std::endl;

  38. for (iter = charMultimap2.begin();

  39. iter != charMultimap2.end(); iter++)

  40. {

  41. std::cout << (*iter).first << " --> ";

  42. std::cout << (*iter).second << std::endl;

  43. }

  44. std::cout << std::endl;

  45. // Compare the multimaps.

  46. if (charMultimap == charMultimap2)

  47. std::cout << "multimap1 == multimap2";

  48. elseif (charMultimap < charMultimap2)

  49. std::cout << "multimap1 < multimap2";

  50. elseif (charMultimap > charMultimap2)

  51. std::cout << "multimap1 > multimap2";

  52. return 0;

  53. }