C#队列如何使用
发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,本篇内容介绍了"C#队列如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!队列的特性很简答,就是
千家信息网最后更新 2024年09月25日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安全错误
数据库的锁怎样保障安全
网络安全发言稿20字
青桔共享单车服务器
医药招标数据库
网络安全问题手抄报二年级
邮箱收件服务器gmail
网络安全培训培训
太原元工互联网科技有限公司
中国在售汽车数据库
什么是数据库客户端
无锡进口网络技术创新服务
明澈网络技术上海
数据库中 符号
SQL进数据库卡顿
常见的网络安全模型有哪些
大表数据库
计算机网络技术专业技能描述
vsco服务器一直出现问题
物联网需要的软件开发
菜谱翻译软件开发
最新关于网络安全视频
学软件开发要多少岁
苏州海阔天空网络技术
网络安全中真实性
steam中国cm服务器停服
亳州直播软件开发公司
山西电力应急软件开发服务标准
什么是数据库客户端
c gui软件开发经历
sas服务器版安装包
互联网科技贷款公司招聘