main.cpp CommandProcessor.cpp Menu.cpp HashNode.h HashMap.h DynQueue.h DynStack.h CommandProcessor.h
The driver class main.cpp calls the CommandProcessor.cpp function Process_Commands(). The Process_Commands() function creates menus and prompts user input. The user is able the move through the initial menu with the options of creating a stack, queue, hash table, or exiting the program. When the user selects stack, queue, or hash table, they are taken to another menu with functions allowing them to create and manipulate the data structures.
Process commands starting Which linked list do you want to create? 1: Stack 2: Queue 3: HashTable 4: Cancel
1 Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
6 Enter value: stack Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
6 Enter value: pile Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
6 Enter value: heap Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
6 Enter value: hill Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
6 Enter value: mountain Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
5 *1 mountain *2 hill *3 heap *4 pile *5 stack Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
1 mountain Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
3 No. Stack is Not Empty. Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
2 Size: 5 Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
4 Capacity: 13 Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
5 *1 mountain *2 hill *3 heap *4 pile *5 stack Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
7 Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
5 *1 hill *2 heap *3 pile *4 stack Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
9 Enter value to erase from stack: pile Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
5 *1 hill *2 heap *3 stack Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
8 Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
3 Yes. Stack is Empty. Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
5 Stack is empty
Enter command number:
1: Return Top Element 2: Get Size 3: Is List Empty 4: Get Capacity/Array Size 5: Display Stack 6: Push 7: Pop 8: Clear 9: Erase 10: Exit
10
Process commands starting Which linked list do you want to create? 1: Stack 2: Queue 3: HashTable 4: Cancel
2 Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
7 Enter value to enqueue: First Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
Invalid choice Please try again
Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
7 Enter value to enqueue: Second Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
7 Enter value to enqueue: Third Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
7 Enter value to enqueue: Fourth Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
1 Front: First Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
2 Back: Fourth Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
3 Size: 4 Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
4 Queue is not Empty. Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
5 Capacity: 13 Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
6 Fourth -> Third -> Second -> First -> Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
8 Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
2 Back: Fourth Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
1 Front: Second Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
6 Fourth -> Third -> Second -> Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
10 Enter value to erase from queue: Third Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
6 Fourth -> Second -> Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
9 Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
4 Queue is Empty. Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
1 Enter command number:
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
Error. Queue is Empty.
2 Enter command number: Error. Queue is Empty.
1: Return Front Object 2: Return Back Object 3: Get Size 4: Is List Empty 5: Get Capacity/Array Size 6: Display Queue 7: Enqueue 8: Dequeue 9: Clear 10: Erase 11: Exit
11
Process finished with exit code 0
Process commands starting Which linked list do you want to create? 1: Stack 2: Queue 3: HashTable 4: Cancel
3 Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 1 Enter value of node: Xbox Item number: 1 Key: 1 Value: Xbox Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 2 Enter value of node: Playstation Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 2 Value: Playstation Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 3 Enter value of node: PC Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 2 Value: Playstation Item number: 3 Key: 3 Value: PC Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 1 Enter value of node: Halo Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 2 Value: Playstation Item number: 4 Key: 3 Value: PC Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 1 Enter value of node: Gears of War Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 2 Value: Playstation Item number: 5 Key: 3 Value: PC Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 2 Enter value of node: Uncharted Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 2 Value: Playstation Item number: 5 Key: 2 Value: Uncharted Item number: 6 Key: 3 Value: PC Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 2 Enter value of node: Horizon: Zero Dawn Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 2 Value: Playstation Item number: 5 Key: 2 Value: Uncharted Item number: 6 Key: 2 Value: Horizon: Zero Dawn Item number: 7 Key: 3 Value: PC Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 3 Enter value of node: League of Legends Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 2 Value: Playstation Item number: 5 Key: 2 Value: Uncharted Item number: 6 Key: 2 Value: Horizon: Zero Dawn Item number: 7 Key: 3 Value: PC Item number: 8 Key: 3 Value: League of Legends Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 3 Enter value of node: StarCraft Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 2 Value: Playstation Item number: 5 Key: 2 Value: Uncharted Item number: 6 Key: 2 Value: Horizon: Zero Dawn Item number: 7 Key: 3 Value: PC Item number: 8 Key: 3 Value: League of Legends Item number: 9 Key: 3 Value: StarCraft Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
3 Enter key to search for: 2 List of results: Playstation Uncharted Horizon: Zero Dawn Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
4 Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 2 Value: Playstation Item number: 5 Key: 2 Value: Uncharted Item number: 6 Key: 2 Value: Horizon: Zero Dawn Item number: 7 Key: 3 Value: PC Item number: 8 Key: 3 Value: League of Legends Item number: 9 Key: 3 Value: StarCraft Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
2 Enter key to delete: 2 Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 3 Value: PC Item number: 5 Key: 3 Value: League of Legends Item number: 6 Key: 3 Value: StarCraft Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
4 Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 3 Value: PC Item number: 5 Key: 3 Value: League of Legends Item number: 6 Key: 3 Value: StarCraft Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
1 Enter key value of node: 2 Enter value of node: Playstation Item number: 1 Key: 1 Value: Xbox Item number: 2 Key: 1 Value: Halo Item number: 3 Key: 1 Value: Gears of War Item number: 4 Key: 3 Value: PC Item number: 5 Key: 3 Value: League of Legends Item number: 6 Key: 3 Value: StarCraft Item number: 7 Key: 2 Value: Playstation Enter command number:
1: Insert 2: Delete 3: Search 4: Print 5: Exit
5
Process finished with exit code 0