Queue的用法

队列的抽象数据类型如下:
template<class T>
class Queue
{
    Queue(int s);//创建队列实例,最大长度为s
    ~Queue();//该实例消亡,释放全部空间
    void push(T);//向队列中(末尾)添加元素
    void pop();//去掉队列头元素
    T front();//返回队列头元素
    T& back();//返回队尾元素的引用
    int empty();//判断是否为空
    int size();//返回队列大小
    ...

}


创建一个队列:

queue<int> iqueue;
### Queue数据结构概述 Queue是一种遵循先进先出(FIFO, First In First Out)原则的线性数据结构[^1]。这意味着最早进入队列中的元素将会是最先被移除的一个。 ### 队列的主要操作 常见的队列支持的操作有: - `enqueue(element)`:向队尾添加新元素 - `dequeue()`:从队首删除并返回最前面的元素;如果为空,则抛出异常或返回特定值表示错误 - `front()`:查看但不移除位于队头的第一个元素 - `isEmpty()`:判断当前队列是否为空 - `size()`:获取队列内元素的数量 这些基本功能确保了对队列的有效管理以及按照FIFO顺序处理各项任务的能力[^2]。 ### Python实现简单队列类 下面是一个基于Python列表来模拟队列行为的例子,其中`list`作为底层存储容器: ```python class SimpleQueue: def __init__(self): self.items = [] def is_empty(self): return len(self.items)==0 def enqueue(self, item): self.items.append(item) def dequeue(self): if not self.is_empty(): return self.items.pop(0) else: raise IndexError("Dequeue from empty queue") def front(self): if not self.is_empty(): return self.items[0] def size(self): return len(self.items) # 测试SimpleQueue的功能 if __name__ == '__main__': q = SimpleQueue() print(f'初始状态下的队列大小:{q.size()}') # 向队列中加入几个元素 elements_to_add = ['apple', 'banana', 'cherry'] for e in elements_to_add: q.enqueue(e) print(f"Enqueued {e}, now the queue has {q.size()} items.") # 查看队首元素而不弹出它 first_item = q.front() print(f"\nThe element at the front of the queue (without removing it) is '{first_item}'\n") while not q.is_empty(): removed_element = q.dequeue() print(f"Just dequeued '{removed_element}', remaining count={q.size()}") ``` 上述代码定义了一个简单的队列类,并展示了如何创建实例对象、执行入队(`enqueue`)和出队(`dequeue`)操作以及其他辅助函数调用过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值