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:
Static Content in Spring WebFlux
Java Program to Describe the Representation of Graph using Adjacency Matrix
Hướng dẫn Java Design Pattern – Intercepting Filter
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Setting a Request Timeout for a Spring REST API
Comparing Objects in Java
Introduction to Spring MVC HandlerInterceptor
Java Program to Find Number of Articulation points in a Graph
The Modulo Operator in Java
Java – Create a File
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Quick Guide to Spring MVC with Velocity
Chuyển đổi giữa các kiểu dữ liệu trong Java
So sánh HashMap và Hashtable trong Java
Java Program to Implement Cubic convergence 1/pi Algorithm
Jackson Exceptions – Problems and Solutions
Class Loaders in Java
Send email with authentication
REST Pagination in Spring
Java Program to Implement Segment Tree
Assert an Exception is Thrown in JUnit 4 and 5
Documenting a Spring REST API Using OpenAPI 3.0
Guide to Guava Table
Cài đặt và sử dụng Swagger UI
Java Program to Implement Euclid GCD Algorithm
Java Program to Implement Levenshtein Distance Computing Algorithm
Giới thiệu Google Guice – Injection, Scope
New Stream Collectors in Java 9
How to use the Spring FactoryBean?
Spring MVC Tutorial
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
Debugging Reactive Streams in Java