Help with a class assignment
I need help on these 2 problems for an in class assignment. They are as follows:
(1) Given the declaration:
Code:
typedef int ComponentType;
struct NodeType;
typedef NodeType* NodePtr;
struct NodeType
{
ComponentType component;
NodePtr link;
}
NodePtr lastPtr;
NodePtr listPtr;
NodePtr currPtr;
NodePtr newNodePtr;
assume that the list has a large collection of members and that currPtr is somewhere in the middle of the list. Write a code segment to remove the node following the node pointed to by currPtr and reinsert it at the head of the list.
(2) Given the same declaration, write a void function that sorts the elements of the list in ascending order. The sort algorithm will scan the list, keeping a pointer to the lowest value seen thus far. When the end of the list is reached, the lowest value will be removed from that point and inserted at the end of a new list. After all of the elements have been moved from the original list to the new sorted list, change listPtr and currPtr to point to the first element of the new list. That way, when the function returns, the client code will simply see the list as having been sorted.