Struct rust_algorithm_club::collections::Queue[][src]

pub struct Queue<T> { /* fields omitted */ }

A queue-like data structure implement through std::vec::Vec.

This is a naive implementation whose insertion time complexity is O(n), which can be improved trivially by using a Deque or SinglyLinkedList.



impl<T> Queue<T>[src]

pub fn new() -> Self[src]

Initialize a queue with empty vector

pub fn enqueue(&mut self, item: T)[src]

Adds an element into queue.



pub fn dequeue(&mut self) -> Option<T>[src]

Removes the oldest added element in queue.


Linear in the size of the container.

pub fn peek(&self) -> Option<&T>[src]

Retrieves the least recently added element without dequeuing.



pub fn size(&self) -> usize[src]

Retrieves the size of the queue.



Auto Trait Implementations

impl<T> RefUnwindSafe for Queue<T> where
    T: RefUnwindSafe

impl<T> Send for Queue<T> where
    T: Send

impl<T> Sync for Queue<T> where
    T: Sync

impl<T> Unpin for Queue<T> where
    T: Unpin

impl<T> UnwindSafe for Queue<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.