Struct collections::dlist::DListStable
[-]
[+]
[src]
pub struct DList<T> {
// some fields omitted
}A doubly-linked list.
Methods
impl<T> DList<T>
fn new() -> DList<T>
Creates an empty DList.
fn append(&mut self, other: DList<T>)
Adds all elements from other to the end of the list.
This operation should compute in O(1) time.
Examples
extern crate collections; fn main() { use std::collections::DList; let mut a = DList::new(); let mut b = DList::new(); a.push_back(1i); a.push_back(2); b.push_back(3i); b.push_back(4); a.append(b); for e in a.iter() { println!("{}", e); // prints 1, then 2, then 3, then 4 } }use std::collections::DList; let mut a = DList::new(); let mut b = DList::new(); a.push_back(1i); a.push_back(2); b.push_back(3i); b.push_back(4); a.append(b); for e in a.iter() { println!("{}", e); // prints 1, then 2, then 3, then 4 }
fn iter(&self) -> Iter<T>
Provides a forward iterator.
fn iter_mut(&mut self) -> IterMut<T>
Provides a forward iterator with mutable references.
fn into_iter(self) -> IntoIter<T>
Consumes the list into an iterator yielding elements by value.
fn is_empty(&self) -> bool
Returns true if the DList is empty.
This operation should compute in O(1) time.
fn len(&self) -> usize
Returns the length of the DList.
This operation should compute in O(1) time.
fn clear(&mut self)
Removes all elements from the DList.
This operation should compute in O(n) time.
fn front(&self) -> Option<&T>
Provides a reference to the front element, or None if the list is
empty.
fn front_mut(&mut self) -> Option<&mut T>
Provides a mutable reference to the front element, or None if the list
is empty.
fn back(&self) -> Option<&T>
Provides a reference to the back element, or None if the list is
empty.
fn back_mut(&mut self) -> Option<&mut T>
Provides a mutable reference to the back element, or None if the list
is empty.
fn push_front(&mut self, elt: T)
Adds an element first in the list.
This operation should compute in O(1) time.
fn pop_front(&mut self) -> Option<T>
Removes the first element and returns it, or None if the list is
empty.
This operation should compute in O(1) time.
fn push_back(&mut self, elt: T)
Appends an element to the back of a list
Examples
extern crate collections; fn main() { use std::collections::DList; let mut d = DList::new(); d.push_back(1i); d.push_back(3); assert_eq!(3, *d.back().unwrap()); }use std::collections::DList; let mut d = DList::new(); d.push_back(1i); d.push_back(3); assert_eq!(3, *d.back().unwrap());
fn pop_back(&mut self) -> Option<T>
Removes the last element from a list and returns it, or None if
it is empty.
Examples
extern crate collections; fn main() { use std::collections::DList; let mut d = DList::new(); assert_eq!(d.pop_back(), None); d.push_back(1i); d.push_back(3); assert_eq!(d.pop_back(), Some(3)); }use std::collections::DList; let mut d = DList::new(); assert_eq!(d.pop_back(), None); d.push_back(1i); d.push_back(3); assert_eq!(d.pop_back(), Some(3));