C#数据结构与队列怎么实现
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"C#数据结构与队列怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C#数据结构与队列怎么实现"吧!C#数据结构与算法之队列是
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
咖啡
互联网加科技
广东万易互联网科技有限公司惠州分公司
广州淘业互联网络科技
苏州找大状互联网科技有限公司
互联网属科技
奇酷互联网科技
百单互联网科技有限公司
广州凡科互联网科技
互联网科技网站
互联网科技公司需要的职位
科技与互联网哪个更好
互联网为啥属于高科技
国大互联网教育科技有限公司工作
朱啸虎曾投资哪些互联网科技企业
互联网方面的科技前沿
杭州披云加互联网科技有限公司
下一代互联网重大应用科技园
玉溪新华互联网科技怎么选
黑龙江互联网科技公司
西安互联网科技
互联网科技咨询
互联网金融和金融科技
丰台科技园 互联网公司
千方科技属于互联网企业吗
互联网科技人工智能实验室
用友工业互联网科技发展
明优互联网科技有限公司
科技互联网行业投资研究
杭州科技互联网公司有哪些