问答题对链表设置头结点的作用是什么?(至少说出两条好处)
问答题
对链表设置头结点的作用是什么?(至少说出两条好处)
参考解析
解析:
暂无解析
相关考题:
● 单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是 (60) 。(60)A. 若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)B. 在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理C. 加入头结点后,代表链表的头指针不因为链表为空而改变D. 加入头结点后,在链表中进行查找运算的时间复杂度为O(1)
设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p->next=head。() 此题为判断题(对,错)。
对于单链表表示法,以下说法正确的是() A指向链表的第一个结点的指针,称为头指针B单链表的每一个结点都被一个指针所指C任何结点只能通过指向它的指针才能引用D尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表
在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点 在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性的链式存储实现
在单链表中,增加头结点的目的是( )。 A.方便运算的实现B.使单链表至少有一个结点SXB 在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现
若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。A.采用不含头结点的单链表且栈顶元素放在表尾结点B.采用不含头结点的单链表且栈顶元素放在表头结点C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点D.采用含头结点的双向链表且栈顶元素放在表尾结点
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]函数Combine(LinkList La,LinkList Lb)的功能是:将元素呈递减排列的两个含头结点单链表合并为元素值呈递增(或非递减)方式排列的单链表,并返回合并所得单链表的头指针。例如,元素递减排列的单链表La和Lb如图1所示,合并所得的单链表如图2所示。设链表结点类型定义如下:typedef Struct Node{ int data; struct Node*next; }Node,*LinkList; [C函数] LinkListCombine(LinkList La,LinkList Lb) { //La和Lb为含头结点且元素呈递减排列的单链表的头指针 //函数返回值是将La和Lb合并所得单链表的头指针 //且合并所得链表的元素值呈递增(或非递减)方式排列 ______Lc,tp,pa,pb; //Lc为结果链表的头指针,其他为临时指针 if(!La)returnNULL; pa=La->next; //pa指向La链表的第一个元素结点 if(!Lb) returnNULL; pb=Lb->next; //pb指向Lb链表的第一个元素结点 Lc=La; //取La链表的头结点为合并所得链表的头结点 Lc->next=NULL; while(______) { //pa和pb所指结点均存在(即两个链表都没有到达表尾) //令tp指向pa和pb所指结点中的较大者 if(pa->data>pb->data){ tp=pa; pa=pa->next; } else{ tp=pb; pb=pb->next; } ______ =Lc->next; //tp所指结点插入Lc链表的头结点之后 Lc->next=______; } tp=(pa)?pa:pb; //设置tp为剩余结点所形成链表的头指针 //将剩余的结点合并入结果链表中,pa作为临时指针使用 while (tp) { pa=tp->next; tp->next=Lc->next; Lc->next=tp; ______; } return Lc; }
判断题在具有头结点的单链表中,头指针指向链表的第一个数据结点。A对B错