# 循环队列的顺序存储

263人阅读 评论(0)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{ //循环队列的顺序存储
public class Queue
{
public int front { get; set; }
public int rear { get; set; }
public string[] data { get; set; }
public int maxsize;
///
/// 构造函数，初始化队列长度
///
///
public Queue(int maxsize)
{
this.front = 0;
this.rear = 0;
this.maxsize = maxsize;
this.data = new string[maxsize];
}
///
/// 返回队列长度
///
///
public int QueueLength()
{

        return (this.rear - this.front + maxsize) % maxsize;
}
/// <summary>
/// 插入队列节点
/// </summary>
/// <param name="queueNode"></param>
public void InsertQueueNode(string queueNode)
{
if ((this.rear + 1) % this.maxsize == this.front)
return;
this.data[this.rear] = queueNode;
this.rear = (this.rear + 1) % this.maxsize;
}
/// <summary>
/// 删除一个节点
/// </summary>
public void DeleteQueueNode()
{
if (this.rear == this.front)
{
return;
}
this.front = (this.front + 1) % this.maxsize;
}
/// <summary>
/// 显示队列
/// </summary>
public void ShowQueue()
{
if (this.rear == this.front)
{
return;
}
while((this.front+1)%this.maxsize!=this.rear){

Console.WriteLine(this.data[this.front]);
this.front=(this.front+1)%this.maxsize;
}
Console.WriteLine(this.data[this.front]);
}
}

//测试
class Program
{
static void Main(string[] args)
{
Queue queue = new Queue(8);
queue.InsertQueueNode("0");
queue.InsertQueueNode("1");
queue.InsertQueueNode("2");
queue.InsertQueueNode("3");
queue.InsertQueueNode("4");
queue.InsertQueueNode("5");
//    queue.DeleteQueueNode();
queue.ShowQueue();
}
}


}

0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：22876次
• 积分：638
• 等级：
• 排名：千里之外
• 原创：42篇
• 转载：0篇
• 译文：0篇
• 评论：2条
阅读排行