算法:数据结构链式队列C++实现 test ok

目录

1.链式队列

2.队列基类的头文件"Queue.h"

3.链式队列头文件“LinkedQueue.h”


1.链式队列

链式队列是基于单链表的存储表示。所以在实现链式队列时使用了和链表一样的结点struct,结点的具体定义放在"Queue.h"的头文件中。链式队列有两个指针front,rear,front为队头指针,指向单链表的第一个结点,rear为队尾指针,指向单链表的最后一个结点,所以出队是删除第一个节点,入队是将新元素的结点插在单链表最后一个结点的后面。结构图如下:

 本文链式队列对应的单链表没有设计空的头节点,因为头节点也没太大用处。

注意,当队列只有一个元素时,front == rear,因为该元素既是第一个元素也是最后一个元素。

2.队列基类的头文件"Queue.h"

这部分代码和上一篇循环队列的文章的Queue.h头文件相同,具体如下:

扫描二维码关注公众号,回复: 17450863 查看本文章
#pragma once
const int maxSize = 50;  //顺序队列的最大元素个数
 
template <class T>
class Queue
{
public:
	Queue() {};
	~Queue() {};
	virtual bool EnQueue(const T& x) = 0; //新元素入队
	virtual bool DeQueue(T& x) = 0;       //队头元素出队
	virtual bool get

猜你喜欢

转载自blog.csdn.net/hfut31415926/article/details/142707446
OK