C#代码实现【顺序队列】和【链队列】
C#代码实现【顺序栈】和【链栈】
C#代码实现【顺序表】和【链表】
队列在广度优先搜索中会用到。看一下两种存储结构的队列的实现。
第一、创建接口
包含了队列的所有方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace case3_Queue
{
interface IQueue<T>
{
int Count {
get; }
int GetLength();
bool IsEmpty();
//对栈操作为空类型方法
void Clear();//对队列操作 清空
void Enqueue(T item);//对队列操作 入队
//需要返回元素,定义为元素类型方法
T Dequeue();//对元素操作 出队
T Peek();//对元素操作 读取
}
}
第二、实现顺序队列
class SeqQueue<T> : IQueue<T>
{
private T[] data;
private int count;
private int front;//队首 队首元素索引-1
private int rear;//队尾 队尾元素索引
public SeqQueue(int size)
{
data = new T[size];
count = 0;
}
public SeqQueue() : this(10)
{
}
public int Count {
get {
return count; } }