Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please answer this computer science question with 3 files (queue.h, queue.cpp, main.cpp) main.cpp queue.h queue.cpp The array based queue implementation uses a circular list, maintaining
Please answer this computer science question with 3 files (queue.h, queue.cpp, main.cpp) main.cpp queue.h queue.cpp The array based queue implementation uses a circular list, maintaining a frontindex and a backindex. The circular list wastes one location in the array, so an array of size 5 will only hold a maximum of 4 queue items. Let's go through an example of a queue with a MAX size of 5. x- represents unknown value // beginning empty queue troatIndex, backIndex-o xxx x1 // push (5) // frontindex " , backIndex " 1 push (7 trontIndex -0, backIndex 2 5 7xx push(3 trontIndex-o, backIndex3 15 73xx / pop0 // front Index-, backIndex-3 // pop0 trontIndex 2, backIndex3 xx3xx // push 12) frontIndex-2, backIndex-4 Ixx32 x // push (6) / trontIndex 2, backIndexo0 Ix x 3 2 61 / push (8) II trontIndex - 2. backIndex 18x32 6 push (O) erzor, queue is full 18 x32 61 // pop0 // frontIndex - 3, backIndex 8 x x 2 6 push (1) trontIndex 3, backIndex2 18 1x26] 2 Testing Queue class 4 @author xxx 5 @date xxx 6 8 #includeiostream #include "queue . h" 10 11 using namespace std; 12 void testQueue) ( 14 Queue st; 15 16 /TODO (me) main program 20 int main) ( testQueue(); cout 12 #include iostream> 13 #include "queue . h" 14 15 using namespace std 16 17 11 default constructor 18 Queue::Queue)t 19 IITODO (me) 20 21 22 11 empty destructor, let compiler define it 23 Queue : :-Queue()# default; 24 25 1 return true if queue is empty 26 bool Queue::empty() const f 21/TODO (me) 23 return true; 30 return true if queue is full bool Queue: :full) const f /TODO(me) return true; add item to back of queue after pushiie) 41 void Queue:: push(const int &value) f 42 if(full()) 43 44 1/TODO (me) 45 46 47 11 remove item from front of queue 48 I [2 7 10] 49 // after pop() 50 void Queue: : pop) throw std::out_of_range("push called on full queue"); i-51 f (empty()) 52 throw std::out_of_range ("pop called on empty queue"); 53I/TODO(me) const int &Queue: :front() const f if (empty(O) throw std: :out_of_range ("front called on empty queue"); /TODO (me) return 0
Please answer this computer science question with 3 files (queue.h, queue.cpp, main.cpp)
main.cpp
queue.h
queue.cpp
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started