Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a LinkedList as follows: The list should contain 10 nodes, each represent

ID: 3594562 • Letter: C

Question

Create a LinkedList as follows:

The list should contain 10 nodes, each representing an integer. Allow the user to input exactly 10 integers.

Write a method that prints every other element in the linked list.

Write a method that removes all nodes containing odd integers from the list.

Example execution:

Enter integer 1: 3
Enter integer 2: 4
Enter integer 3: 5
Enter integer 4: 6
Enter integer 5: 7
Enter integer 6: 8
Enter integer 7: 9
Enter integer 8: 1
Enter integer 9: 2
Enter integer 10: 3
The linked list of numbers: [3, 4, 5, 6, 7, 8, 9, 1, 2, 3]
Displaying every other node : 3 5 7 9 2
After deleting odd numbers, the linked list of numbers: [4, 6, 8, 2]

Explanation / Answer

Please find my implementaion.

import java.util.Scanner;

public class LinkedList

{

   Node head; // head of list

   /* Linked list Node*/

   class Node

   {

       int data;

       Node next;

       Node(int d) {data = d; next = null; }

   }

   /* Appends a new node at the end. This method is

   defined inside LinkedList class shown above */

   public void append(int new_data)

   {

       /* 1. Allocate the Node &

   2. Put in the data

   3. Set next as null */

       Node new_node = new Node(new_data);

       /* 4. If the Linked List is empty, then make the

new node as head */

       if (head == null)

       {

           head = new Node(new_data);

           return;

       }

       /* 4. This new node is going to be the last node, so

make next of it as null */

       new_node.next = null;

       /* 5. Else traverse till the last node */

       Node last = head;

       while (last.next != null)

           last = last.next;

       /* 6. Change the next of last node */

       last.next = new_node;

       return;

   }

   /* This function prints contents of linked list starting from

the head node */

   public void printList()

   {

       Node tnode = head;

       System.out.print("[");

       while (tnode != null)

       {

           System.out.print(tnode.data+" ");

           tnode = tnode.next;

       }

       System.out.println("]");

   }

   /* This function prints other elements of linked list starting from

the head node */

   public void printOtherList()

   {

       Node tnode = head;

       while (tnode != null)

       {

           System.out.print(tnode.data+" ");

           tnode = tnode.next;

           if(tnode != null)

               tnode = tnode.next;

       }

       System.out.println();

   }

  

   public void deleteOdds() {

       if(head == null)

           return;

      

       while(head != null && head.data%2 == 1)

           head = head.next;

      

       if(head == null)

           return;

      

       Node temp = head;

      

       while(temp.next != null) {

           if(temp.next.data %2 == 1)

               temp.next = temp.next.next;

           else

               temp = temp.next;

       }

   }

   /* Driver program to test above functions. Ideally this function

   should be in a separate user class. It is kept here to keep

   code compact */

   public static void main(String[] args)

   {

       /* Start with the empty list */

       LinkedList llist = new LinkedList();

       Scanner sc = new Scanner(System.in);

      

       int i = 1, x;

       while(i <= 10) {

           System.out.print("Enter integer "+i+":");

           x = sc.nextInt();

           llist.append(x);

           i++;

       }

       sc.close();

       System.out.print("The linked list of numbers: ");

       llist.printList();

       System.out.print("Displaying every other node : ");

       llist.printOtherList();

      

       llist.deleteOdds();

       System.out.print("After deleting odd numbers, the linked list of numbers: ");

       llist.printList();

   }

}

/*

Sample run:

Enter integer 1:1

Enter integer 2:2

Enter integer 3:3

Enter integer 4:4

Enter integer 5:5

Enter integer 6:6

Enter integer 7:7

Enter integer 8:8

Enter integer 9:9

Enter integer 10:1

The linked list of numbers: [1 2 3 4 5 6 7 8 9 1 ]

Displaying every other node : 1 3 5 7 9

After deleting odd numbers, the linked list of numbers: [2 4 6 8 ]

*/