Program Circular Linked List Mahasiswa
Berikut ini merupakan contoh program circular linked list dengan bahasa pemrograman java untuk penyimpanan data mahasiswa:
Source Code
1. Class cNode
public class cNode {
private String name;
cNode next;
cNode(String n){
name = n; next = null;
System.out.println("Object "+n+" has made ...");
}
public String getName() {
return name;
}
}
2. Class cCircularLinkedList
public class cCircularLinkedList {
cNode head, tail;
int jNode;
cCircularLinkedList(){
head = tail = null;
jNode = 0;
System.out.println("Object Circular Linked List has made...");
}
public void addNode(cNode newNode) {
if(head == null) {
head = tail = newNode;
tail.next = head;
}
else {
newNode.next = head;
tail.next = newNode;
head = newNode;
}
System.out.println("Node successfully added...");
}
public void deleteNode() {
if(head == null) {
System.out.println("Circular Linked List empty!");
}
else if(head.next == head) {
head = tail = null;
System.out.println("Node successfully removed...");
}
else {
cNode temp = head.next;
head.next = null;
tail.next = temp;
head = temp;
System.out.println("Node successfully removed...");
}
}
public void printData() {
if(head == null) {
System.out.println("Circular Linked List empty!");
}
else {
cNode temp = head;
do {
System.out.print(temp.getName()+" ");
temp = temp.next;
} while(temp != head);
System.out.println("");
}
}
public void printWithChar(String c, String s) {
String nm = c;
String search = s;
int jName = nm.length();
int jChar = 0;
cNode start = null;
if(head == null) {
System.out.println("Circular Linked List empty!");
}
else {
boolean yes = false;
cNode temp = head;
do {
if(temp.getName().equalsIgnoreCase(s)) {
yes = true;
start = temp;
break;
}
temp = temp.next;
} while(temp != head);
if(yes == false) {
System.out.println("Data not found!");
}
else {
System.out.println("Data found!");
temp = start;
do {
System.out.println(nm.charAt(jChar)+" -> "+temp.getName());
temp = temp.next;
jChar++;
} while(jName > jChar);
System.out.println("");
}
}
}
}
3. Class appCircularLinkedList
import java.util.Scanner;
public class appCircularLinkedList {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
cNode node = null;
cCircularLinkedList cll = new cCircularLinkedList();
int select = 0;
do {
System.out.println("\nCircular Linked List Menu");
System.out.println("1. Add Node");
System.out.println("2. Delete Node");
System.out.println("3. Print Circular Linked List with Character");
System.out.println("4. Exit");
System.out.print("Select = ");
select = sc.nextInt();
switch(select) {
case 1:
System.out.print("Add student name: ");
String nm = sc.next();
node = new cNode(nm);
cll.addNode(node);
break;
case 2:
cll.deleteNode();
break;
case 3:
System.out.print("Data available: ");
cll.printData();
System.out.print("Start from: ");
nm = sc.next();
System.out.print("Add word: ");
String c = sc.next();
cll.printWithChar(c, nm);
break;
case 4:
System.out.println("Thank you...");
break;
}
} while(select != 4);
}
}

Comments