FixedQueue-OOP - 基于面向对象方法的有限队列实现
项目介绍
本项目采用面向对象编程范式,实现了一个具有固定容量的有限队列数据结构。该队列在达到最大容量时自动遵循先进先出(FIFO)的淘汰机制,确保队列大小始终不超过预设限制。适用于需要缓存固定数量数据元素的各类应用场景。
功能特性
- 容量固定:初始化时指定队列最大容量,运行时严格保持容量限制
- 完整队列操作:支持标准的入队、出队、清空等基本操作
- 状态查询:实时获取队列大小、空满状态等运行状态信息
- 数据安全:通过私有属性实现数据封装,保护内部数据结构完整性
- 类型通用:支持存储任意MATLAB数据类型(数值、字符、结构体、对象等)
- 顺序保持:严格保持元素的入队顺序,确保FIFO语义正确性
使用方法
初始化队列
% 创建容量为5的队列
fq = FixedQueue(5);
入队操作
% 添加元素到队列尾部
fq.enqueue(10); % 数值
fq.enqueue('hello'); % 字符串
fq.enqueue(struct('a',1)); % 结构体
出队操作
% 从队列头部移除并返回元素
element = fq.dequeue(); % 返回最早入队的元素
状态查询
is_empty = fq.isempty(); % 判断队列是否为空
is_full = fq.isfull(); % 判断队列是否已满
queue_size = fq.size(); % 获取当前队列元素数量
队列遍历
all_elements = fq.getAll(); % 获取队列所有元素(保持入队顺序)
清空队列
fq.clear(); % 移除队列中的所有元素
系统要求
- MATLAB R2016b 或更高版本
- 支持面向对象编程的MATLAB环境
文件说明
main.m文件作为项目的主要演示脚本,展示了有限队列类的完整功能验证流程。该文件通过实例化队列对象并系统调用各类公共方法,实现了队列初始化、元素入队、自动淘汰、状态检查、元素遍历以及队列清空等核心操作的完整测试,为用户提供清晰的使用范例和功能验证基准。