淘宝网官方网站电脑版,海南网络广播电视台开学第一课,淄博网站制作价格低,htm网页设计介绍
A doubly-linked list with owned nodes. 自有节点的双向链表
pub struct LinkedListT, A = Global
whereA: Allocator,
{/* private fields */ }使用 Vec 或 VecDeque 几乎总是更好,因为基于数组的容器通常更快、内存效率更高,并且可以更好地利用 CPU 缓存
…介绍
A doubly-linked list with owned nodes. 自有节点的双向链表
pub struct LinkedListT, A = Global
whereA: Allocator,
{ /* private fields */ }使用 Vec 或 VecDeque 几乎总是更好,因为基于数组的容器通常更快、内存效率更高,并且可以更好地利用 CPU 缓存
方法
// 初始化
pub const fn new() - LinkedListT, Global// 追加
pub fn append(mut self, other: mut LinkedListT, Global)// 前向迭代
pub fn iter(self) - Iter'_, T
// Provides a forward iterator
pub fn iter_mut(mut self) - IterMut'_, T
// Provides a forward iterator with mutable references// 是否为空
pub fn is_empty(self) - bool// 长度
pub fn len(self) - usize// 移除所有元素
pub fn clear(mut self)// 包含
pub fn contains(self, x: T) - bool// 位置
pub fn front(self) - OptionT
pub fn front_mut(mut self) - Optionmut T
pub fn back(self) - OptionT
pub fn back_mut(mut self) - Optionmut T
pub fn push_front(mut self, elt: T)
pub fn pop_front(mut self) - OptionT
pub fn push_back(mut self, elt: T)
pub fn pop_back(mut self) - OptionT// 拆分
// 在给定索引处将列表分成两部分,返回给定索引之后的所有内容,包括索引
// 将一个链表分割为两个独立的链表。
// 该方法会从指定的位置将原链表拆分成两个链表,并返回新创建的链表
pub fn split_off(mut self, at: usize) - LinkedListT, A
whereA: Clone,示例
use std::collections::LinkedList;fn main() {let mut list1 = LinkedList::new();assert!(list1.is_empty());assert_eq!(list1.len(), 0);list1.push_back('a');assert!(!list1.is_empty());assert_eq!(list1.len(), 1);assert_eq!(list1.contains('a'), true);assert_eq!(list1.contains('b'), false);let mut list2 = LinkedList::new();list2.push_back('b');list2.push_back('c');list1.append(mut list2);let mut iter = list1.iter();assert_eq!(iter.next(