/// <summary> /// 获取队列长度 /// </summary> /// <typeparam></typeparam> /// <param></param> /// <returns></returns> public int SeqQueueLen<T>(SeqQueue<T> seqQueue) { return seqQueue.tail - seqQueue.head; }
然后上一下总的运行代码:
复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace SeqQueue { public class Program { static void Main(string[] args) { SeqQueue<Student> seqQueue = new SeqQueue<Student>();
SeqQueueClass queueManage = new SeqQueueClass();
Console.WriteLine("目前队列是否为空:" + queueManage.SeqQueueIsEmpty(seqQueue) + "n");
Console.WriteLine("将ID=1和ID=2的实体加入队列"); queueManage.SeqQueueIn(seqQueue, new Student() { ID = 1, Name = "hxc520", Age = 23 }); queueManage.SeqQueueIn(seqQueue, new Student() { ID = 2, Name = "一线码农", Age = 23 });
Display(seqQueue);
Console.WriteLine("将队头出队"); //将队头出队 var student = queueManage.SeqQueueOut(seqQueue);
Display(seqQueue);
//获取队顶元素 student = queueManage.SeqQueuePeek(seqQueue);
Console.Read(); } //展示队列元素 static void Display(SeqQueue<Student> seqQueue) { Console.WriteLine("******************* 链表数据如下 *******************");
for (int i = seqQueue.head; i < seqQueue.tail; i++) Console.WriteLine("ID:" + seqQueue.data[i].ID + ",Name:" + seqQueue.data[i].Name + ",Age:" + seqQueue.data[i].Age);
Console.WriteLine("******************* 链表数据展示完毕 *******************n"); } }
#region 学生数据实体 /// <summary> /// 学生数据实体 /// </summary> public class Student { public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; } } #endregion
#region 队列的数据结构 /// <summary> /// 队列的数据结构 /// </summary> /// <typeparam></typeparam> public class SeqQueue<T> { private const int maxSize = 100;
public int MaxSize { get { return maxSize; } }
/// <summary> /// 顺序队列的存储长度 /// </summary> public T[] data = new T[maxSize];
//头指针 public int head;
//尾指针 public int tail;
} #endregion
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|