main.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include <iostream>
  2. #include <queue> // priority_queue
  3. #include <utility> // pair
  4. #include <functional> // greater
  5. #include <limits>
  6. using namespace std;
  7. int main() {
  8. cout << "Hello containers !" << endl;
  9. cout << "# Priority queue" << endl;
  10. cout << "## With integers" << endl;
  11. priority_queue<int> pqInt;
  12. pqInt.push(5);
  13. pqInt.push(2);
  14. pqInt.push(0);
  15. pqInt.push(42);
  16. pqInt.push(3);
  17. pqInt.push(numeric_limits<int>::max());
  18. while (!pqInt.empty()) {
  19. cout << pqInt.top() << " > ";
  20. pqInt.pop();
  21. }
  22. cout << endl;
  23. cout << "## With pairs" << endl;
  24. priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pqPair;
  25. pqPair.push(make_pair(4, 4));
  26. pqPair.push(make_pair(4, 5));
  27. pqPair.push(make_pair(5, 5));
  28. pqPair.push(make_pair(2, 5));
  29. pqPair.push(make_pair(0, 5));
  30. pqPair.push(make_pair(42, 5));
  31. pqPair.push(make_pair(3, 5));
  32. pqPair.push(make_pair(3, 5));
  33. pqPair.push(make_pair(3, 2));
  34. pqPair.push(make_pair(3, 0));
  35. pqPair.push(make_pair(3, 42));
  36. pqPair.push(make_pair(3, 3));
  37. while (!pqPair.empty()) {
  38. cout << pqPair.top().first << ';' << pqPair.top().second << " > ";
  39. pqPair.pop();
  40. }
  41. cout << endl;
  42. return 0;
  43. }