Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need help with implementing the stack, queue, and priority queue data structures with a linked list implementation to get the given test code in

I need help with implementing the stack, queue, and priority queue data structures with a linked list implementation to get the given test code in driver.cpp to work properly. I will provide the main cpp file and header files below. //////// driver.cpp ///////////////

#include  #include  #include "stackLL.h" #include "queueLL.h" #include "priorityQueueLL.h" using namespace std; int main() { /////////////Test code for stack /////////////// stackLL stk; stk.push(5); stk.push(13); stk.push(7); stk.push(3); stk.push(2); stk.push(11); cout << "Popping: " << stk.pop() << endl; cout << "Popping: " << stk.pop() << endl; stk.push(17); stk.push(19); stk.push(23); while( ! stk.empty() ) { cout << "Popping: " << stk.pop() << endl; } // output order: 11,2,23,19,17,3,7,13,5 stackLL stkx; stkx.push(5); stkx.push(10); stkx.push(15); stkx.push(20); stkx.push(25); stkx.push(30); stkx.insertAt(-100, 3); stkx.insertAt(-200, 7); stkx.insertAt(-300, 0); //output order: -300,30,25,20,-100,15,10,5,-200 while( ! stkx.empty() ) cout << "Popping: " << stkx.pop() << endl; /////////////////////////////////////// //////////Test code for queue /////////// queueLL Q; Q.enqueue(1); Q.enqueue(2); Q.enqueue(3); cout << "Dequeuing: " << Q.dequeue() << endl; //1 cout << "Dequeuing: " << Q.dequeue() << endl; //2 Q.enqueue(4); Q.enqueue(5); //3 4 5 while( ! Q.empty() ) { cout << "Dequeuing: " << Q.dequeue() << endl; } ///////////////////////////////////////// //////////Test code for priority queue///// priorityQueueLL pQueue; const int SIZE = 20; //insert a bunch of random numbers for(int i=0; i pqs; pqs.insert("whale"); pqs.insert("snake"); pqs.insert("buffalo"); pqs.insert("elmo"); pqs.insert("fire"); pqs.insert("waffle"); //buffalo elmo fire snake waffle whale while( ! pqs.empty() ) { cout << pqs.extractMin() << endl; } /////////////////////////////////////////// //1) Template your queue class //2) Add a decimate method to your queue class queueLL qx; for(int i=1; i<=100; i++) qx.enqueue( i ); //Eliminate every 10th item from list //https://en.wikipedia.org/wiki/Decimation_(punishment) qx.decimate(); //1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22... 98 99 while( ! qx.empty() ) cout << qx.dequeue() << endl; queueLL qy; qy.enqueue("sparticus"); qy.enqueue("maximus"); qy.enqueue("killicus"); qy.enqueue("awesomeicus"); qy.enqueue("gannicus"); qy.enqueue("varro"); qy.enqueue("oenomous"); qy.enqueue("slayicus"); qy.enqueue("bladeicus"); qy.enqueue("ted"); qy.enqueue("smashicus"); qy.enqueue("mallicus"); qy.enqueue("wussicus"); qy.enqueue("wimpicus"); qy.enqueue("crixus"); qy.decimate(); //Everyone but Ted. while( ! qy.empty() ) cout << qy.dequeue() << endl; return 0; } /////// stackLL.h ////////////// 
class stackLL { private: class node { public: //put what you need in here }; node * top; public: stackLL() {} //Take care of memory leaks... ~stackLL() {} //return true if empty, false if not bool empty() {} //add item to top of stack void push(int x) {} //remove and return top item from stack int pop() {} //add item x to stack, but insert it //right after the current ith item from the top //(and before the i+1 item). void insertAt(int x, int i) {} }; ////////// queueLL.h //////////// 
class queueLL { private: //put what you need here... public: queueLL() {} ~queueLL() {} //add item to back of queue void enqueue(int x) {} //remove and return first item from queue int dequeue() {} //For the final part of the test program, template this class //and add a decimate method. } ///////// priorityQueueLL.h /////////////// 
template  class priorityQueueLL { private: class node { public: //put what you need here.. } //add what you wish here public: priorityQueueLL() {} ~priorityQueueLL() {} //return true if empty, false if not bool empty() {} //add item void insert(T x) {} //remove and return smallest item T extractMin() {} }; Can you please explain what you did with comments, so I have an idea of what you did? Thank you.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Object Oriented Databases Prentice Hall International Series In Computer Science

Authors: John G. Hughes

1st Edition

0136298745, 978-0136298748

More Books

Students also viewed these Databases questions

Question

A practical definition of mindfulness AppendixLO1

Answered: 1 week ago

Question

1. Write down two or three of your greatest strengths.

Answered: 1 week ago

Question

What roles have these individuals played in your life?

Answered: 1 week ago

Question

2. Write two or three of your greatest weaknesses.

Answered: 1 week ago