$24
Name your implementation file as LastName(3 to 5 letters)_FirstNameInitial_HW3.cpp Note: You can only use iostream, cassert, cctype, cmath, cstdio, and cstdlib.
Create a singly linked list. Create class/functions that:
Insert a Node at the head
Insert a Node at the tail
Insert a Node at position i
Insert data at the head
Insert data at the tail
Insert data at position i
Check if there is a cycle
Check if the list is empty
Check if a position is valid
Get the length of the list
Get the Node at position i, i.e. locate
Get the Node with target data, i.e. search
Remove the Node at the head
Remove the Node at the tail
Remove the Node at position i
Remove all the Node
Remove all the Node from position i to position j
Remove all the Node from the head to position j
Remove all the Node from position i to the tail
Reverse the whole list without making another list
Print the whole list
Swap two Node at position i and i+1, change the link and not the data
Swap two Node at position i and j, change the link and not the data