C#数据结构与队列怎么实现
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"C#数据结构与队列怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C#数据结构与队列怎么实现"吧!C#数据结构与算法之队列是
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
apache服务器管理
电信恢复流量数据库
网吧网络安全员考试
四年级网络安全手抄报字少简单
银行服务器怎么更改预留手机号码
中国联通广州软件开发部
修改数据库可用空间大小
改行学习手机软件开发
泰国购买数据库
互联网科技圈的风花雪月
什么时候用nosql数据库
政府单位网络安全事例
还原数据库指下的转换无效
南京物联网工控机服务器
微信小程序自己有服务器 给腾讯交管理费吗
安卓软件开发需要
vps服务器管理系统
菜谱小程序数据库
政府网络安全关注点
韩商言有没有打过网络安全大赛
数据库安全性保护的主要内容
打开手抄报网络安全的写字内容
广州 网络安全 规划方案
数据库名字才是合法的
网络安全溯源取证流程
文件服务器如何监控文件操作记录
dede修改数据库密码文件
软件开发网络通信
网络安全管理先进事迹材料
通信网络技术类的书籍