comparison algs4-c++/src/Queue.cpp @ 24:028689700a47

Updated Queue to have a const_iterator too and to support a copy constructor (problem 1.3.41
author Eris Caffee <discordia@eldalin.com>
date Tue, 23 Jun 2015 14:52:17 -0500
parents eb159ea69f33
children 80ca1973e3bd
comparison
equal deleted inserted replaced
1:d5d3bc6a886b 2:aee322771db7
23 23
24 for ( auto iter = queue.begin(); iter != queue.end(); ++iter ) { 24 for ( auto iter = queue.begin(); iter != queue.end(); ++iter ) {
25 std::cout << *iter << std::endl; 25 std::cout << *iter << std::endl;
26 } 26 }
27 27
28 Queue<long> q2( queue );
29 std::cout << "Copied queue to q2. q2 has " << q2.size() << " entries." << std::endl;
30 for ( auto iter = q2.begin(); iter != q2.end(); ++iter ) {
31 std::cout << *iter << std::endl;
32 }
33
34
28 std::cout << "Dequeuing entries..." << std::endl; 35 std::cout << "Dequeuing entries..." << std::endl;
29 36
30 while ( ! queue.is_empty() ) { 37 while ( ! queue.is_empty() ) {
31 i = queue.dequeue(); 38 i = queue.dequeue();
32 std::cout << i << std::endl; 39 std::cout << i << std::endl;
33 } 40 }
34 41
35 std::cout << "Queue has " << queue.size() << " entries." << std::endl; 42 std::cout << "Queue has " << queue.size() << " entries." << std::endl;
36 43
44
45 // Silently empty q2 to avoid the assertion in the destructor.
46 while ( ! q2.is_empty() )
47 q2.dequeue();
37 } 48 }
38 49