using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
/// <summary>
/// 顺序队列
/// </summary>
public class OrderQueue<T>
{
public T[] DataArry;
/// <summary>
/// 对头
/// </summary>
public int Front;
/// <summary>
/// 队尾
/// </summary>
public int Rear;
public int Count;
public int MaxLength
{
get
{
return DataArry.Length;
}
}
public OrderQueue(int maxLength)
{
DataArry = new T[maxLength];
Front = -1;
Rear = -1;
}
/// <summary>
/// 入队列
/// </summary>
public void Enqueue( T data)
{
if(Count>=MaxLength)
{
return;
}
Count++;
Rear++;
DataArry[Rear] = data;
}
/// <summary>
/// 出队列
/// </summary>
public T Dequeue()
{
if(Count>0)
{
Count--;
Front++;
T tempData = DataArry[Front];
return tempData;
}
return default(T);
}
}
}