data_structures.queues.circular_queue_linked_list ================================================= .. py:module:: data_structures.queues.circular_queue_linked_list Classes ------- .. autoapisummary:: data_structures.queues.circular_queue_linked_list.CircularQueueLinkedList data_structures.queues.circular_queue_linked_list.Node Module Contents --------------- .. py:class:: CircularQueueLinkedList(initial_capacity: int = 6) Circular FIFO list with the given capacity (default queue length : 6) >>> cq = CircularQueueLinkedList(2) >>> cq.enqueue('a') >>> cq.enqueue('b') >>> cq.enqueue('c') Traceback (most recent call last): ... Exception: Full Queue .. py:method:: check_can_perform_operation() -> None .. py:method:: check_is_full() -> None .. py:method:: create_linked_list(initial_capacity: int) -> None .. py:method:: dequeue() -> Any Removes and retrieves the first element of the queue >>> cq = CircularQueueLinkedList() >>> cq.dequeue() Traceback (most recent call last): ... Exception: Empty Queue >>> cq.enqueue('a') >>> cq.dequeue() 'a' >>> cq.dequeue() Traceback (most recent call last): ... Exception: Empty Queue .. py:method:: enqueue(data: Any) -> None Saves data at the end of the queue >>> cq = CircularQueueLinkedList() >>> cq.enqueue('a') >>> cq.enqueue('b') >>> cq.dequeue() 'a' >>> cq.dequeue() 'b' >>> cq.dequeue() Traceback (most recent call last): ... Exception: Empty Queue .. py:method:: first() -> Any | None Returns the first element of the queue >>> cq = CircularQueueLinkedList() >>> cq.first() Traceback (most recent call last): ... Exception: Empty Queue >>> cq.enqueue('a') >>> cq.first() 'a' >>> cq.dequeue() 'a' >>> cq.first() Traceback (most recent call last): ... Exception: Empty Queue >>> cq.enqueue('b') >>> cq.enqueue('c') >>> cq.first() 'b' .. py:method:: is_empty() -> bool Checks whether the queue is empty or not >>> cq = CircularQueueLinkedList() >>> cq.is_empty() True >>> cq.enqueue('a') >>> cq.is_empty() False >>> cq.dequeue() 'a' >>> cq.is_empty() True .. py:attribute:: front :type: Node | None :value: None .. py:attribute:: rear :type: Node | None :value: None .. py:class:: Node .. py:attribute:: data :type: Any | None :value: None .. py:attribute:: next :type: Node | None :value: None .. py:attribute:: prev :type: Node | None :value: None