Circular Singly Linked List



# Represents the node of list.class Node:
    def __init__(self, data):
        self.data = data;
        self.next = None;


class CreateList:
    # Declaring head and tail pointer as null.    def __init__(self):
        self.head = Node(None);
        self.tail = Node(None);
        self.head.next = self.tail;
        self.tail.next = self.head;

        # This function will add the new node at the end of the list.
    def add(self, data):
        newNode = Node(data);
        # Checks if the list is empty.        if self.head.data is None:
            # If list is empty, both head and tail would point to new node.            self.head = newNode;
            self.tail = newNode;
            newNode.next = self.head;
        else:
            # tail will point to new node.            self.tail.next = newNode;
            # New node will become new tail.            self.tail = newNode;
            # Since, it is circular linked list tail will point to head.            self.tail.next = self.head;

            # Displays all the nodes in the list
    def display(self):
        current = self.head;
        if self.head is None:
            print("List is empty");
            return;
        else:
            print("Nodes of the circular linked list: ");
            # Prints each node by incrementing pointer.            print(current.data),            while (current.next != self.head):
                current = current.next;
                print(current.data),

class CircularLinkedList:
    cl = CreateList();
    # Adds data to the list    cl.add(1);
    cl.add(2);
    cl.add(3);
    cl.add(4);
    # Displays all the nodes present in the list    cl.display();1

Komentar

Postingan populer dari blog ini

Pengalaman Kelas satu di MAN IC

Praktik Cohort Analisis menggunakan Python

Bubblesort