Mercurial > Algorithms__Sedgewick
annotate algs4-c++/src/RandomQueue.cpp @ 27:80ca1973e3bd
Fleshed out Queue::generic_iterator a bit more to make it a more or less complete example of implmenting an iterator.
author | Eris Caffee <discordia@eldalin.com> |
---|---|
date | Tue, 23 Jun 2015 17:14:09 -0500 |
parents | |
children |
rev | line source |
---|---|
discordia@19 | 1 // g++ -std=c++11 RandomQueue.cpp |
discordia@19 | 2 |
discordia@19 | 3 #include <iostream> |
discordia@19 | 4 |
discordia@19 | 5 #include "RandomQueue.hpp" |
discordia@19 | 6 |
discordia@19 | 7 int main ( int argc, char **argv ) { |
discordia@19 | 8 |
discordia@19 | 9 RandomQueue<long> q; |
discordia@19 | 10 |
discordia@19 | 11 long i; |
discordia@19 | 12 while ( ! std::cin.eof() ) { |
discordia@19 | 13 std::cin >> i; |
discordia@19 | 14 if ( std::cin.good() ) { |
discordia@19 | 15 q.enqueue(i); |
discordia@19 | 16 } |
discordia@19 | 17 } |
discordia@19 | 18 |
discordia@19 | 19 std::cout << "RandomQueue has " << q.size() << " entries." << std::endl; |
discordia@19 | 20 |
discordia@19 | 21 for ( auto iter = q.begin(); iter != q.end(); ++iter ) { |
discordia@19 | 22 std::cout << *iter << std::endl; |
discordia@19 | 23 } |
discordia@19 | 24 |
discordia@19 | 25 std::cout << "Sampling entries." << std::endl; |
discordia@19 | 26 |
discordia@19 | 27 for ( int i; i < q.size(); ++i ) { |
discordia@19 | 28 std::cout << q.sample() << std::endl; |
discordia@19 | 29 } |
discordia@19 | 30 |
discordia@19 | 31 std::cout << "Removing entries entries..." << std::endl; |
discordia@19 | 32 |
discordia@19 | 33 while ( ! q.is_empty() ) { |
discordia@19 | 34 i = q.dequeue(); |
discordia@19 | 35 std::cout << i << std::endl; |
discordia@19 | 36 } |
discordia@19 | 37 |
discordia@19 | 38 std::cout << "Q has " << q.size() << " entries." << std::endl; |
discordia@19 | 39 |
discordia@19 | 40 } |
discordia@19 | 41 |