Singly linked list has got a node based structure where each node has got next and data fields.
Above is a singly linked list with 1-2-3-4-5 elements.
In order to print data elements of each node of a singly linked list data structure in Java following forwardPrint and reversePrint methods can be used.
reversePrint is a recursive method and assumes that the head node is not null.
package basics; public class LinkedList { static class Node { Node next; int data; } private Node head; public LinkedList(Node pHead) { head = pHead; } public void forwardPrint() { forwardPrint(head); } private void forwardPrint( Node node ) { Node current = head; while( current!=null ) { System.out.println(current.data); current = current.next; } } public void reversePrint() { reversePrint(head); } private void reversePrint( Node node ) { if( node.next != null ) reversePrint(node.next); System.out.println(node.data); } public static void main(String[] args) { Node node1 = new Node(); node1.data = 1; Node node2 = new Node(); node2.data = 2; Node node3 = new Node(); node3.data = 3; Node node4 = new Node(); node4.data = 4; Node node5 = new Node(); node5.data = 5; node1.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; node5.next = null; LinkedList list = new LinkedList(node1); System.out.println("Forward Print Linked List = "); list.forwardPrint(); System.out.println("Backward Print Linked List = "); list.reversePrint(); } }
Node objects are created separately and node1 object sent as the head of the linked list. Create a LinkedList.java file in your workspace.
When the main method inside the LinkedList class executed it is going to print :
Forward Print Linked List =
1
2
3
4
5
Backward Print Linked List =
5
4
3
2
1
No comments:
Post a Comment