I am writing a program to add String type data to a circular doubly linked list and to view them in java. I want to know that how to add Strings to the linked list and how to get the output.
The way I tried gives an error: " The constructor Node() is undefined " How to fix this.
here is the code I tried:
class Node {
int data;
Node nextNode;
Node prevNode;
}
class CircularDoublyLL {
Node head = null;
Node tail = null;
public void insertLast(String songName) {
Node newNode = new Node();
newNode.data = songName;
if (head == null) {
head = tail = newNode;
head.nextNode = head;
head.prevNode = head;
} else {
tail.nextNode = newNode;
newNode.prevNode = tail;
newNode.nextNode = head;
head.prevNode = newNode;
tail = newNode;
}
}
public void displayPlayist() {
Node currentNode = head;
if (head == null) {
System.out.println("Playlist is empty!");
} else {
int songNo = 1;
while (currentNode != tail) {
System.out.println("Song " + songNo + ": " + currentNode.data);
currentNode = currentNode.nextNode;
songNo++;
}
System.out.println("Song " + songNo + ": " + currentNode.data);
}
}
}
public class MusicPlayer {
public static void main(String[] args) {
CircularDoublyLL playlist = new CircularDoublyLL();
playlist.insertLast("Song Name 1");
playlist.insertLast("Song Name 2");
playlist.insertLast("Song Name 3");
playlist.insertLast("Song Name 4");
playlist.displayPlayist();
}
}
For Strings change:
class Node {
int data;
Node nextNode;
Node prevNode;
}
To
class Node {
String data;
Node nextNode;
Node prevNode;
}
or
class Node {
Object data;
Node nextNode;
Node prevNode;
}
(Object will allow any data type)