data_structures.queues.linked_queue =================================== .. py:module:: data_structures.queues.linked_queue .. autoapi-nested-parse:: A Queue using a linked list like structure Classes ------- .. autoapisummary:: data_structures.queues.linked_queue.LinkedQueue data_structures.queues.linked_queue.Node Module Contents --------------- .. py:class:: LinkedQueue >>> queue = LinkedQueue() >>> queue.is_empty() True >>> queue.put(5) >>> queue.put(9) >>> queue.put('python') >>> queue.is_empty() False >>> queue.get() 5 >>> queue.put('algorithms') >>> queue.get() 9 >>> queue.get() 'python' >>> queue.get() 'algorithms' >>> queue.is_empty() True >>> queue.get() Traceback (most recent call last): ... IndexError: dequeue from empty queue .. py:method:: __iter__() -> collections.abc.Iterator[Any] .. py:method:: __len__() -> int >>> queue = LinkedQueue() >>> for i in range(1, 6): ... queue.put(i) >>> len(queue) 5 >>> for i in range(1, 6): ... assert len(queue) == 6 - i ... _ = queue.get() >>> len(queue) 0 .. py:method:: __str__() -> str >>> queue = LinkedQueue() >>> for i in range(1, 4): ... queue.put(i) >>> queue.put("Python") >>> queue.put(3.14) >>> queue.put(True) >>> str(queue) '1 <- 2 <- 3 <- Python <- 3.14 <- True' .. py:method:: clear() -> None >>> queue = LinkedQueue() >>> for i in range(1, 6): ... queue.put(i) >>> queue.clear() >>> len(queue) 0 >>> str(queue) '' .. py:method:: get() -> Any >>> queue = LinkedQueue() >>> queue.get() Traceback (most recent call last): ... IndexError: dequeue from empty queue >>> queue = LinkedQueue() >>> for i in range(1, 6): ... queue.put(i) >>> for i in range(1, 6): ... assert queue.get() == i >>> len(queue) 0 .. py:method:: is_empty() -> bool >>> queue = LinkedQueue() >>> queue.is_empty() True >>> for i in range(1, 6): ... queue.put(i) >>> queue.is_empty() False .. py:method:: put(item: Any) -> None >>> queue = LinkedQueue() >>> queue.get() Traceback (most recent call last): ... IndexError: dequeue from empty queue >>> for i in range(1, 6): ... queue.put(i) >>> str(queue) '1 <- 2 <- 3 <- 4 <- 5' .. py:attribute:: front :type: Node | None :value: None .. py:attribute:: rear :type: Node | None :value: None .. py:class:: Node(data: Any) .. py:method:: __str__() -> str .. py:attribute:: data :type: Any .. py:attribute:: next :type: Node | None :value: None