CHAPTER5-14.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
源码类别:

STL

开发平台:

C/C++

  1. //文件名:CHAPTER5-14.cpp
  2. #include <iostream>
  3. #include <queue>
  4. #include <deque>
  5. #include <vector>
  6. #include <functional>
  7. using namespace std ;
  8. // Using priority_queue with deque
  9. // Use of function greater sorts the items in ascending order
  10. typedef deque<int> INTDQU;
  11. typedef priority_queue<int> INTPRQUE;
  12. // Using priority_queue with vector
  13. // Use of function less sorts the items in descending order
  14. typedef vector<char> CHVECTOR;
  15. typedef priority_queue<char> CHPRQUE;
  16. void main(void)
  17. {
  18.     int size_q;
  19.     INTPRQUE   q;
  20.     CHPRQUE    p;
  21.     // Insert items in the priority_queue(uses deque)
  22.     q.push(42);
  23.     q.push(100);
  24.     q.push(49);
  25.     q.push(201);
  26.     // Output the size of priority_queue
  27.     size_q = q.size();
  28.     cout << "size of q is:" << size_q << endl;
  29.    // Output items in priority_queue using top()
  30.     // and use pop() to get to next item until
  31.     // priority_queue is empty
  32.     while (!q.empty()) { cout << q.top() << endl; q.pop(); }  // Insert items in the priority_queue(uses vector)
  33.     p.push('c');
  34.     p.push('a');
  35.     p.push('d');
  36.     p.push('m');
  37.     p.push('h');    // Output the item at the top using top()
  38.     cout << p.top() << endl;    // Output the size of priority_queue
  39.     size_q = p.size();
  40.     cout << "size of p is:" << size_q << endl;    // Output items in priority_queue using top()
  41.     // and use pop() to get to next item until priority_queue is empty
  42.     while (!p.empty()) { cout << p.top() << endl; p.pop(); }
  43. }