数据结构——链式队列模板类实现

本文介绍数据结构中的链式队列,重点讨论使用模板类实现链式队列的优势,特别是在元素变动大和多队列需求的场景下。提供链式队列的模板类代码,并附带了主函数的测试示例,展示了链式队列的运行效果。
摘要由CSDN通过智能技术生成

数据结构笔记3.3.3 Queue
与栈类似,队列也分成顺序队列和链式队列。用单链表表示的链式队列特别适合于元素变动比较大的情形,而且不存在队列FULL而溢出的情况。另外,假若程序中需要多个队列,与多个栈的情形一样,最好使用链式队列。这样不会出现存储分配不合理的问题,也不需要考虑存储的移动。下面就给出相应的代码。
链式队列模板类代码:

//数据结构——链式队列模板类
#include <iostream>
using namespace std;
template<class T>
struct LinkNode {
    T data;                 //队列每个节点的数据域
    LinkNode<T> *next;      //队列每个节点的指针域
    //构造函数
    LinkNode(T x, LinkNode<T> *p = NULL) {
        data = x;
        next = p;
    }
};
template<class T>
class LinkedQueue {
public:
    LinkedQueue();                          //构造函数
    ~LinkedQueue();                            //析构函数
    bool enQueue(const T & x);              //将x加入队列当中
    bool delQueue(T & x);                   //删除队头元素,x返回其值
    bool getFront(T & x) const;             //查看队头元素的值
    void makeEmpty();                       //将队列清空
    bool isEmpty() const;
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值