2 sinat 33781723 sinat_33781723 于 2016.01.18 17:13 提问

循坏链表队列中尾指针与头指针的分别指向哪里

我看人民邮电出版社的数据结构(c语言版)第2版,课本例题里链队的头指针front是指向队头元素,尾指针是指向队尾元素的下一位,但在后面的习题里的循坏链表队列的头指针front是指向队头元素的下一位,而尾指针是指向队尾元素,这是自己想指向哪里就指向哪里吗?有没有什么规定的?例题里是普通链队,习题里是循坏链表队列,跟这个有关吗?

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.18 21:01

其实没有什么规定,只要是循环的,链表都算是循环链表。如果你多找基本书来看,就发现了。

caozhy
caozhy   Ds   Rxr 2016.01.18 21:02

这也是我一直都在强调的,看书千万不要只看一本。否则你没办法知道哪些是特殊,哪些是一般。好比如果你只见过一只熊猫,你不知道它没睡好还是熊猫有黑眼圈。但是如果你见到过10只,这个问题就不言自明了。

sinat_33781723
sinat_33781723 明白,谢谢
2 年多之前 回复
91program
91program   Ds   Rxr 2016.01.18 17:20

链表,与循环链表,还是有一定的区别的。
一般来说,头指针指向第一个可以取到的链表项;尾指针,指向当前项的下一项。

如果是循环队列,就没有明显的头和尾,所以所谓的头/尾指针也只是一个概念。这个没有什么规定,只是方便理解罢了!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
循环链表尾指针
循环链表-尾指针
假设以不带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针。试设计相应的入队和出队的算法
#include using namespace std; template struct Node{     DataType a;     Node * next; }; template class LinkQueue{     public:         LinkQueue();         ~LinkQueue();         void ad
带头结点的循环链表表示队列, 并且只设一个指针指向队尾元素结点, 试编写相应的队列初始化,入队列和出队列的算法
数据结构算法题(假设以带头结点的循环链表表示队列, 并且只设一个指针指向队尾元素结点(注意不设头指针) 试编写相应的队列初始化,入队列和出队列的算法!)
链表的简单操作代码相关
在一个单链表中,若p结点不是最后一结点。在p结点之后插入s结点的正确是 ()。 答案:s->next=p->next ; p->next=s;链表的插入或删除元素,可以理解为是将链表指针链接打断再重新衔接上的过程。 p元素之后插入s,p–>next=s 这一步肯定是需要的,但什么时候执行这一步呢?考虑到 s 的后面应该为 未插入s时 p 后面的元素,即 s–>next=p–>next ,这
链表、头指针、头结点(经典)
图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针 指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置。同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL)。 图1 线性链表的逻辑状态 由上述描述可见,单链表可由头指针来唯一确定,在C语言中可用“结构指针”来描述
已知指向节点p的指针,如何删除该节点(不知道链表头)
/************************************************************************* > File Name: deleteNode.c > Author: XXDK > Email: v.manstein@qq.com > Created Time: Tue 07 Mar 2017 05:25:25 PM PST ***
(含有头指针以及尾指针)单链表各类功能的实现
对单链表实现如下功能: void InitList(List *list); //初始化单链表 bool push_back(List *list,ElemType x); //尾插法 void show_seqlist(List *list); //显示链表内容 bool push_front(List *list,ElemType x);//头插法 b
队列指针
以前队列学的就不太好,用队列的时候只知道用动态链表,做操作系统的进程调度时,百度到了一个程序,发现这个程序用的队列非常简洁且实用,因此摘录下来了,算是补一下学习数据结构时遗留的漏洞吧。代码如下: #include #define N 10     //系统中所允许的最大进程数量#define SLOT 5   //时间片大小//进程状态枚举  typedef enum{
【c/c++】单链表、头指针、头结点、首元节点
链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。 这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中第一个结点的存储位置叫做头指针”,如果链表有头结点,那么头指针就是指向头结点数据域的指针。画一个图吧。   头指针就是链表的名字。头指针仅仅是个指针而已。 头结点是
单链表的头结点和头指针
当链表的每个结点只包含一个指针域时,此链表就是单链表。在单链表的开始结点之前附设一个类型相同的结点,称之为头结点。头结点的数据域可以不存储任何信息,头结点的指针域存储指向开始结点的指针(即第一个元素结点的存储位置)。 头指针是指向第一个结点的指针,链表中可以没有头结点,但是不能没有头指针。 头结点的作用: 1、防止单链表是空的而设的.当链表为空的时候,带头结点的头指针就指