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 Program to Implement Unrolled Linked List
Java Program to Implement LinkedBlockingQueue API
Java Program to Construct an Expression Tree for an Infix Expression
Get and Post Lists of Objects with RestTemplate
Hamcrest Collections Cookbook
New Features in Java 10
Java Program to Implement the One Time Pad Algorithm
Tính đóng gói (Encapsulation) trong java
Binary Numbers in Java
Lập trình đa luồng với Callable và Future trong Java
Mockito and JUnit 5 – Using ExtendWith
Hướng dẫn sử dụng Java Reflection
Concatenating Strings In Java
4 tính chất của lập trình hướng đối tượng trong Java
Java Program to Compute DFT Coefficients Directly
Java Deep Learning Essentials - Yusuke Sugomori
Logging in Spring Boot
Introduction to Using FreeMarker in Spring MVC
Java Program to Optimize Wire Length in Electrical Circuit
Java – Get Random Item/Element From a List
A Guide to the ViewResolver in Spring MVC
Arrays.asList vs new ArrayList(Arrays.asList())
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Java Program to Implement Randomized Binary Search Tree
Model, ModelMap, and ModelAndView in Spring MVC
Java Program to Implement WeakHashMap API
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Hướng dẫn Java Design Pattern – Abstract Factory
Constructor Injection in Spring with Lombok
Spring Boot - Flyway Database
Guide to the Synchronized Keyword in Java
Auditing with JPA, Hibernate, and Spring Data JPA