# CSCI203: The data structure shown in Figure 1 depicts an implementation of a list of two lists, that is, two linked lists joined into one: Data Structures And Algorithm Assignment, SIM

Home » Uncategorized » CSCI203: The data structure shown in Figure 1 depicts an implementation of a list of two lists, that is, two linked lists joined into one: Data Structures And Algorithm Assignment, SIM

Question 3

The data structure shown in Figure 1 depicts an implementation of a list of two
lists, that is, two linked lists joined into one. In this example, the data structure is implemented to group two separate lists of numbers, one consists of lists of even numbers and the other consists of lists of odd numbers.

Two types of linked list are used in the above implementation. The node of the
main list (highlighted in grey) consists of a content field, a next node field, and a next list field. The content node holds a value 0 for an odd list and a value 1 for an even list. The node also contains two reference fields. The first is a ‘next node’ that links to the first node of a secondary list, and the second is a ‘next list’ that links to the next link list.

##### Stuck with a lot of homework assignments and feeling stressed ? Take professional academic assistance & Get 100% Plagiarism free papers
Get A Free Quote

The node of the secondary list (non-highlighted) consists of a content field and a next node field. For an even list, the content holds an even number and for an
odd list, the content holds an odd number. The node has a ‘next node’ field that link it to the next secondary list node.

In a single linked list implemented in Java, this is the definition of a node:

a) Assuming that the above definition is kept for the nodes of the secondary
lists, device a new definition of node for the nodes of the main list. Call this
type of node MainNode and use the names of pointers NextNode and NextList

b) Write the pseudocode of the function INSERT(head,x) that inserts a new
number in this data structure. If the number is even it must go to the second
secondary list, the list that starts with node 1 in the main list. Otherwise, it
must go to the first secondary list. Assume the data structure already has
the main list created and numbers are inserted at the start of the secondary
list.

c) Write the pseudocode of the function SEARCH(head,x) that returns TRUE if
the number x is in the data structure (in any of the secondary lists) and
FALSE otherwise.

d) Write the pseudocode of the function DELETE(head, b) that receives as input arguments the head of the last of two lists and a Boolean value. The function DELETE(head,b) deletes one of the main nodes. If b equals 0, then the node storing number 0 is deleted. Otherwise, the main node storing number 1 is deleted. Consider the following cases: the main list is empty and it has only
one node (node 0 or 1).