C#数据结构与队列怎么实现
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要讲解了"C#数据结构与队列怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C#数据结构与队列怎么实现"吧!C#数据结构与算法之队列是
千家信息网最后更新 2025年11月16日C#数据结构与队列怎么实现
这篇文章主要讲解了"C#数据结构与队列怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C#数据结构与队列怎么实现"吧!
C#数据结构与算法之队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(back)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。这也就是我们平常经常用说到的先进先出法则(FIFO),队列这种法则,在中国好久以前就开始运用了,例如粮仓管理官员,在没掌握这种法则前,仓库底部的粮食都因时间太久而坏掉了,后来有聪明人士在粮仓二边开个门,一边进仓一边出仓,这样管理就方便多了。队列中没有元素时,称为空队列。
C#数据结构与算法之队列实现的接口如下:
public interface IQueen﹤T﹥ { int Length(); bool IsEmpty(); bool IsFull(); void Clear(); void IN(T items); T Out(); T GetFrontItem(); }C#数据结构与算法之队列实现的原理与代码如下:
public class JQueen﹤T﹥ : IQueen﹤T﹥ { private int size; private T[] item; private int front; private int back; public JQueen() : this(100) { size = 100; item = new T[100]; front = back = -1; } public JQueen(int length) { size = length; item = new T[length]; front = back = -1; } public T this[int index] { get { return item[index]; } set { item[index] = value; } } public int Front { get { return front; } set { front = value; } } public int Back { get { return back; } set { back = value; } } public int MaxLength { get { return size; } set { size = value; } } public int Length() { return (back - front + size) % size; } public bool IsEmpty() { return (front == back); } public bool IsFull() { return ((back + 1) % size == front); } public void Clear() { front = back = -1; } public void IN(T items) { if (IsFull()) { throw new ArgumentOutOfRangeException("RangeException", "Queen RangeException: queen is full"); } item[++back] = items; } public T Out() { T tmp = default(T); if (IsEmpty()) { throw new ArgumentOutOfRangeException("RangeException", "Queen RangeException: queen is empty"); } tmp = item[++front]; return tmp; } public T GetFrontItem() { if (IsEmpty()) { throw new ArgumentOutOfRangeException("RangeException", "Queen RangeException: queen is empty"); } return item[front + 1]; } }C#数据结构与算法之队列的测试队列代码:
public class Program { static void Main(string[] args) { try { JQueen﹤string﹥ JQ = new JQueen﹤string﹥(); Console.WriteLine(JQ.IsEmpty()); //是否为空 Console.WriteLine(JQ.IsFull()); //是否满队 Console.WriteLine(JQ.MaxLength); //初始化时队列的长度 Console.WriteLine(JQ.Length()); //队列元素长度 Console.WriteLine(JQ.Front); //队头位置 Console.WriteLine(JQ.Back); //队尾位置 JQ.IN("A"); //插入元素 JQ.IN("B"); JQ.IN("C"); JQ.IN("D"); Console.WriteLine(JQ.GetFrontItem()); //队头元素 Console.WriteLine("------元素出队后队头元素-------"); JQ.Out(); //出A JQ.Out(); Console.WriteLine(JQ.GetFrontItem()); //出队二个元素后队头元素 Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.Message); //异常 Console.ReadLine(); } } }C#数据结构与算法之队列程序运行结果如下:
感谢各位的阅读,以上就是"C#数据结构与队列怎么实现"的内容了,经过本文的学习后,相信大家对C#数据结构与队列怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
队列
数据
数据结构
结构
C#
元素
算法
法则
学习
代码
位置
内容
粮仓
长度
管理
平常
特殊
聪明
也就是
人士
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全法 国务院和
软件开发项目造价审核办法
虚拟主机怎么导入数据库文件
浙江网络安全协会
数据库tcp通讯配置
数据库扩展表字段长度
网络安全性问题的核心
波士顿大学软件开发专业
顺义区定制软件开发推广
蛮王柯南服务器架设
软件开发时间排期表
电脑如何切换网络安全模式
微众互联网科技有限公司
泰拉瑞亚1.4版官方服务器
服务器部署程序
华为的网络安全产品信息
广州微行网络技术有限公司
用qt软件开发工具
运动分解与合成模拟软件开发
末代皇帝配乐软件开发
山东农业大学图书馆数据库
全国信息网络安全技术专业大学
河南绿色生鲜配送软件开发
成都智能边缘计算服务器
庞博参加的网络安全综艺是什么
基础软件开发前景
我的世界虚空服务器怎么做
计算机网络技术可以考哪些公务员
亿科广州网络技术有限公司
小学生网络安全手抄报怎么写