Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For this programming assignment, you will implement a Stack whose size can grow as elements are inserted into the stack. You will build three different

For this programming assignment, you will implement a Stack whose size can grow as elements are inserted into the stack. You will build three different implementations of this Stack. Two of these implementations will be array-based. Each of these two should take an initial capacity for the stack in the constructor. The only difference between these implementations will be what happens when the Stack is full. For the first implementation, ArrayStack, you should increase the size of the array by a constant amount. For the second implementation, DoublingArrayStack, you should double the size of the array. Finally, for the third implementation, you should implement a Stack using a Linked List. You will now time your three implementations. For each version of your stack, push a large amount of random numbers onto the stack, these numbers should be read in from a file, one number per line, i.e., 5 4 3 566 32 34 Your program should be able to push into the stack as many numbers as there are in the file. Time how long this takes. However, you should measure the total time at fixed intervals (i.e., every 10000 push operations). For the array-based implementations, you should start with some small capacity significantly smaller than the maximum number of push operations. For the ArrayStack, your increment amount should also be significantly smaller than the number of push operations. You will then graph the times for the three implementations. This process will allow you to see how your choice of implementation can affect performance.

Coding Portion (50 Points):

For the Linked List, you will need to implement another class for the nodes in the Linked List. Be sure to test the correctness of your algorithms and implementations. Your code will be graded based on whether or not it compiles, runs, produces the expected output, produces correct output, whether or not your experimental setup is correct, and your coding style (does the code follow proper indentation/style and comments). Apply code in C++

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

Step: 3

blur-text-image

Ace Your Homework with AI

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

Get Started

Students also viewed these Databases questions