“队列”方面的自我理解

  • 这次我总结的是关于队列方面的知识。
队列也类似于一种单链表。但它只允许在一端进行插入操作另一端进行删除操作的线性表。允许插入的一端称为队头,允许删除的一端称为队尾。该线性表除了具有线性关系外还有先进先出的特性。类似于排队。
 
首先我们需要设置两个指针。
队头指针front 队尾指针rear
在入队时front 加一。出队时rear加一。且front指向队头元素的前一个位置。rear指向队尾元素的位置。
 
由于这个存储方式的特点。队列中的元素具有单向移动性。
当遇到首尾相连的队列时,这是一种特殊情况,称其为循环队列。具体操作在后面的链队列中介绍。
 
链队列。
为队列的链接存储结构,通常用单链表表示。其结点结构与单链表结点结构一致。队头指针指向链队列的头结点。队尾指针指向终端结点。
 
构造函数
将队头指针和队尾指针都指向头结点s。
析构函数
从头结点开始,一个个遍历直到p->next为空。
其中最重要的还是入队和出队操作。
入队:
Node*s=NULL;
    s=new Node;
    s->data=x;
    s->next=NULL;
    rear->next=s;
    rear=s;
 
出队:
Node*p=NULL;
    if(rear==front)throw"下溢";
    p=front->next;
    front->next=p->next;
    if(p->next==NULL)
    rear=front;
    delete p;
大体操作与单链表无异。
 
最后对于队列内容总结。
大体操作与单链表差不多,比较适合某些特定问题,使用方便易理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值