This is a Java Program to implement Triply Linked List. Triply linked list is a list in which each node has 3 pointers pointing to three other nodes. Here a binary search tree is implemented using a triply linked list.
Here is the source code of the Java program to implement Triply Linked List. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/* * Java Program to Implement Triply Linked List */ import java.util.Scanner; /* class TLLNode */ class TLLNode { TLLNode left, right, middle; int data; /* Constructor */ public TLLNode(int x) { data = x; left = null; right = null; middle = null; } } /* class TriplyLinkedList */ class TriplyLinkedList { TLLNode root, tmp; /* Constructor */ public TriplyLinkedList() { root = null; tmp = null; } /* function to check if empty */ public boolean isEmpty() { return root == null; } /* function to clear list */ public void makeEmpty() { root = null; tmp = null; } /* function to insert */ public void insert(int x) { root = insert(root, x); } /* function to insert element */ public TLLNode insert(TLLNode r, int x) { if (r == null) { r = new TLLNode(x); r.middle = tmp; } else { tmp = r; if (r.data >= x) r.left = insert(r.left, x); else r.right = insert(r.right, x); } return r; } /* Function for print */ public void printList() { printList(root); } private void printList(TLLNode r) { if (r != null) { printList(r.left); System.out.print(r.data +" "); printList(r.right); } } } /* class TriplyLinkedListTest */ public class TriplyLinkedListTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Triply Linked List Test\n"); TriplyLinkedList tll = new TriplyLinkedList(); char ch; /* Perform list operations */ do { System.out.println("\nTriply Linked List Operations\n"); System.out.println("1. insert "); System.out.println("2. check empty"); System.out.println("3. make empty"); int choice = scan.nextInt(); switch (choice) { case 1 : System.out.println("Enter integer element to insert"); tll.insert( scan.nextInt() ); break; case 2 : System.out.println("Empty status = "+ tll.isEmpty()); break; case 3 : System.out.println("\nList Cleared\n"); tll.makeEmpty(); break; default : System.out.println("Wrong Entry \n "); break; } /* Display list */ System.out.print("\nList : "); tll.printList(); System.out.println("\nDo you want to continue (Type y or n) \n"); ch = scan.next().charAt(0); } while (ch == 'Y'|| ch == 'y'); } }
Triply Linked List Test Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 97 List : 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 24 List : 24 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 6 List : 6 24 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 19 List : 6 19 24 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 94 List : 6 19 24 94 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 57 List : 6 19 24 57 94 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 1 Enter integer element to insert 23 List : 6 19 23 24 57 94 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 2 Empty status = false List : 6 19 23 24 57 94 97 Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 3 List Cleared List : Do you want to continue (Type y or n) y Triply Linked List Operations 1. insert 2. check empty 3. make empty 2 Empty status = true List : Do you want to continue (Type y or n) n
Related posts:
Java – Random Long, Float, Integer and Double
The Guide to RestTemplate
An Intro to Spring Cloud Task
Java Program to Implement Self organizing List
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Introduction to Using Thymeleaf in Spring
Spring Boot - Exception Handling
Ignore Null Fields with Jackson
Java Program to Generate Random Numbers Using Middle Square Method
Java Program to Check Whether a Directed Graph Contains a Eulerian Cycle
@Order in Spring
Spring Boot - Twilio
Java Program to Implement CountMinSketch
RegEx for matching Date Pattern in Java
Java Program to Check whether Directed Graph is Connected using DFS
Tạo số và chuỗi ngẫu nhiên trong Java
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
HashSet trong java
Function trong Java 8
Java Program to Implement Naor-Reingold Pseudo Random Function
Spring Boot - Google OAuth2 Sign-In
A Guide to JUnit 5
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Spring @RequestMapping New Shortcut Annotations
Automatic Property Expansion with Spring Boot
Java Program to Implement Pairing Heap
Introduction to Java Serialization
HashMap trong Java hoạt động như thế nào?
Java Program to Find a Good Feedback Edge Set in a Graph
Spring Boot - Google Cloud Platform
Spring Boot - Unit Test Cases