C++ ONLY Add the following functions to the linked list. int getSize() -> This function will return the number of elements in the linked-list. This function should work in O(1). For this keep track of a size variable and update it when we insert a new value in the linked-list. int getValue(index) -> This function will return the value present in the input index. If the index is greater or equal to the size of the linked-list return -1. void printReverse() -> This function will print the linked list in reverse order. You don’t need to reverse the linked list. Just need to print it in reverse order. You need to do this recursively. You cannot just take the elements in an array or vector and then print them in reverse order. void swapFirst() -> This function will swap the first two nodes in the linked list. If the linked-list contains less than 2 elements then just do nothing and return. To check your code add the following code in your main function. LinkedList l; cout<
C++ ONLY
Add the following functions to the linked list.
int getSize() -> This function will return the number of elements in the linked-list. This function should work in O(1). For this keep track of a size variable and update it when we insert a new value in the linked-list.
int getValue(index) -> This function will return the value present in the input index. If the index is greater or equal to the size of the linked-list return -1.
void printReverse() -> This function will print the linked list in reverse order. You don’t need to reverse the linked list. Just need to print it in reverse order. You need to do this recursively. You cannot just take the elements in an array or
void swapFirst() -> This function will swap the first two nodes in the linked list. If the linked-list contains less than 2 elements then just do nothing and return.
To check your code add the following code in your main function.
LinkedList l; cout<<l.getSize()<<"\n"; l.InsertAtHead(5); cout<<l.getSize()<<"\n"; l.InsertAtHead(6); l.InsertAtHead(30); cout<<l.getSize()<<"\n"; l.InsertAtHead(20); l.InsertAtHead(30); cout<<l.getValue(2)<<"\n"; cout<<l.getValue(6)<<"\n"; l.printReverse(); l.Traverse(); l.swapFirst(); l.Traverse(); l.printReverse(); |
Output |
0 1 3 30 -1 5 6 30 20 30 30 20 30 6 5 20 30 30 6 5 5 6 30 30 20 |
Step by step
Solved in 3 steps with 1 images