C#队列如何使用
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"C#队列如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!队列的特性很简答,就是
千家信息网最后更新 2025年01月19日C#队列如何使用
本篇内容介绍了"C#队列如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
队列的特性很简答,就是先进先出,一般利用数组来实现。
实现队列自然要实现几个函数:入队,出队,判断队满,判断队空,获得队头,队尾。
实现队列的关键在于队头指针和队尾指针的设置:
假设初始状态下,队头指针为0,队尾指针为-1,那么两个指针指的位置分别就是队头与队尾。当队尾的下一个是队头时队空,当队尾的下下个是队头时队满。
假设初始状态下,队头队尾指针都为0,那么队尾指针指的是队尾,而队头指针的下一个位置才是队头。当两指针相等时队空,当队尾指针的下一个是队头时队满。
如果我们画个图就会发现,不管怎么设置指针,队满时数组一定还有一个空位。所以数组长度应该比队列长度多1。
同时为了方便,我们会把队列指针设置为循环的,即每次移动后取余数组的长度。
public class MyCircularQueue { private int front; private int rear; private int[] queue; public MyCircularQueue(int k) { queue=new int[k+1]; front=0; rear=-1; } public bool EnQueue(int value) { if((rear+2)%queue.Length==front) return false; rear++;rear=rear%queue.Length; queue[rear]=value; return true; } public bool DeQueue() { if((rear+1)%queue.Length==front) return false; front++;front=front%queue.Length; return true; } public int Front() { if(!IsEmpty()) return queue[front]; else return -1; } public int Rear() { if(!IsEmpty()) return queue[rear]; else return -1; } public bool IsEmpty() { if((rear+1)%queue.Length==front) return true; else return false; } public bool IsFull() { if((rear+2)%queue.Length==front) return true; else return false; }}
实际上C#也有一个队列库,如下图所示
需要注意的是Dequeque和ToArray的返回类型都是object,可能需要进行强制转换
class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue('A'); char ch = (char)q.Dequeue(); Console.WriteLine("The removed value: {0}", ch); }}
"C#队列如何使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
指针
队列
数组
C#
长度
位置
内容
实际
就是
更多
状态
知识
实用
学有所成
接下来
两个
先进
关键
函数
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发服务器收费模式
通信工程跟计算机网络技术
ctf网络安全大赛名称叫什么
乐居易互联网科技
如何网络安全进校
政务网络安全研究
成都理工网络安全中心
在mc服务器强制管理权限
河北什么是软件开发服务值得推荐
jdbc遍历数据库
julia嵌入式软件开发
事帮帮网络技术工作室靠谱吗
mysql数据库如何创建存储过程
远程服务器卡死
软件开发商务标
网络安全对中国影响
智慧政务公共服务系统软件开发
win 桌面软件开发
郧西服务软件开发技术指导
网络安全与生产需求的关系
软件开发师要会什么
服务器上搭建数据库
富民创新软件开发价格信息
服务器 境外
数据库是什么格式
边缘计算对网络安全有什么影响
网络安全对个人影响和措施
软件开发写文档的好处
专业商城软件开发哪家好
win 桌面软件开发