C#队列如何使用
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容介绍了"C#队列如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!队列的特性很简答,就是
千家信息网最后更新 2024年11月24日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安全错误
数据库的锁怎样保障安全
京东计算机网络技术是干什么的
毕节排课数据库表
公安部网络安全保卫局钟忠
成都百域果互联网科技有限公司
数据库中的字典是什么类型
服务器散热处理器种类
数据库管理系统最常见
椒江区库存软件开发定制价格
安卓方向软件开发
流放之路旋涡数据库
软考案例分析网络安全
网络安全led屏幕宣传
安徽电视墙服务器怎么安装
怎样通过窗体删除表中数据库
嵌入式数据库教程
网络安全与防护课程大作业
网络安全在身边主题手抄报
网络技术系都是本科吗
社旗系统软件开发公司
orcal数据库简单语句
服务器cpu家用哪个贵
网络安全ppt一等奖
旅游软件开发背景介绍
萝岗科学城软件开发
魔兽世界雷德怎么会自己转服务器
手机连接sftp服务器应用程序
网络安全英语短文
马来西亚软件开发公司名称
网络技术需要学哪些编程
手机麻将辅助软件开发