队列是一种遵循先进先出(FIFO)原则的线性结构。这意味着先添加的元素是先被移除的元素。
有关队列库的实现细节,请参阅Sway Libs 文档 。
要使用队列库,必须将 Sway Libs 添加到Forc.toml
文件中,然后将其导入到您的 Sway 项目中。要将 Sway Libs 作为项目的依赖项添加到Forc.toml
文件中,请参阅入门指南 。
要将队列库导入到您的 Sway 智能合约中,请在您的 Sway 文件中添加以下内容:
use sway_libs::queue::*;
一旦导入了Queue
,您可以通过调用new
函数创建一个新的队列实例。
let mut queue = Queue::new();
使用enqueue
函数可以向Queue
添加元素。
// Enqueue an element to the queue
queue.enqueue(10u8);
要从Queue
中移除元素,使用dequeue
函数。此函数遵循 FIFO 原则。
// Dequeue the first element and unwrap the value
let first_item = queue.dequeue().unwrap();
要检索Queue
头部的元素而不将其删除,可以使用peek
函数。
// Peek at the head of the queue
let head_item = queue.peek();
可以使用is_empty
和len
函数来检查队列是否为空,并分别获取队列中的元素数量。
// Checks if queue is empty (returns True or False)
let is_queue_empty = queue.is_empty();
// Returns length of queue
let queue_length = queue.len();