软考题目之头结点、头指针和首元节点

遇到一个让人迷惑的题目。

以下关于线性表采用链式存储时删除节点运算的描述,正确的是()

A.带头结点的线性链表删除结点时,不需要更改头指针。

B.带头结点的线性链表删除第一个结点时,需要更改头指针。

C.不带头结点的线性链表删除结点时,需要更改头指针。

D.不带头结点的线性链表删除第一个结点时,不需要更改头指针。

首先,明确几个概念。

首元结点:指链表中存储第一个数据元素a1的结点。

头结点:是为了操作方便在首元结点前复设的结点。

头指针:指向链表中第一个结点(或为头结点或为首元结点)的指针。

因为头结点是不能被删除的,而带头结点的线性链表的第一个结点就是头结点,所以B的说法错误,而A正确。

因为不带头结点的线性链表只有在删除第一个节点,即首元结点时,需要更改头指针。如果删除其他结点,则不需要更改头指针。

所以C、D均错误。

时间: 2024-12-23 03:56:56

软考题目之头结点、头指针和首元节点的相关文章

软考题目-软件设计师英文题目,卧槽怎么选一个错一个

2019-08-09 英语自认为还算可以,不好也不差.但是做软考英文题目题,选一个错一个啊.备受打击. 题目如下: A project os a [temporary] (Sequence) of unique,complex,and connected activities having one goal or purpose and that must be completed by a specific time, within budget,and according to (Speci

链表中头指针和头结点

线性表使用顺序(数组)存储时有个弊端,那就是在插入和删除时需要大量的移动数据,这显示是非常消耗时间的,所以可以采用链式存储,即有一个指针域(单链表),来记录下个结点的存储位置(地址),这样在插入和删除结点时只需要修改指针域即可,从而大量减少移动数据所消耗的时间.来看链表的定义: struct node { int data; struct node *next; }; 其中有两个元素,data为数据域,用于存储数据,next为指针域,用于存储下个结点的位置(地址).那么什么是头指针呢?我们把指向

单链表 头指针与头结点

头指针: 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针. 头指针具有标识作用,所以常用头指针冠以链表的名字. 无论链表是否为空,头指针均不为空. 头指针是链表的必要元素. 头结点: 它是为了操作的统一和方便设立的,放在第一个元素的结点之前,其数据域一般无意义(但也可以用来存放链表的长度). 有了头结点以后,对在第一元素结点前插入结点和删除第一结点起操作与其他结点的操作就统一了. 头结点不一定是链表的必须元素. typedef struct Node { int dat

单链表的头指针、头结点与首元结点

继续我们昨天所说的单链表.单链表也是一种线性表,所以总得有个头有个尾.链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了.之后的每一个结点,其实就是上一个的后继指针指向的位置.雅加达娱乐城 这里有个地方要注意,就是对头指针概念的理解,这个很重要.“链表中第一个结点的存储位置叫做头指针”,如果链表有头结点,那么头指针就是指向头结点数据域的指针.画一个图吧. 这个图看起来很清晰了.比如说头结点,我们就可以这么描述了: 头结点是为了操作的统一与方便而设立的,放在第一个元

链表总的首元结点、头结点、头指针的区别

前言,:今天看书的时候,又复习了一下链表的知识点,但是标题上这个知识点老是弄混淆,所以接下来做一个小小的总结,给自己加深理解. 一.三者的基本概念; 1.首元结点:就是指链表中存储第一个数据元素a1的结点,如下表格所示结点ZHAO就是首元结点: L-----> 数据域和指针域-----> ZHAO+指针域---->   2.头结点:它是在首元结点之前附设的一个节点,其指针域指向首元结点.头结点的数据域可以不存储任何信息,也可以存储与数据元素类型的其他附加信息,例如,当数据元素为整数型时,

重刷数据结构,小题大做,——难道非要头结点吗?

数据结构教材上讲线性表的链式表示时,通常都会引入一个头结点. 带头结点的链表示意图如下: 1.空链表 2.有三个结点的单链表 按照书上的说法,引入头结点有一下两个优点: 由于开始结点的位置被存放在头结点的指针域中,所以在链表的第一个位置上的操作和在表的其他位置上的操作一致,无须进行特殊处理. 无论链表是否为空,其头指针是指向头结点的非空指针,因此空表和非空表的处理也就一致了. 上面的两点的意思是:1.不管是在第一个位置还是其它位置插入一个新的结点,都是在一个结点之后插入(在第一个位置插入新结点,

头结点

图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态.头指针 指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置.同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL). 图1 线性链表的逻辑状态 由上述描述可见,单链表可由头指针来唯一确定,在C语言中可用“结构指针”来描述. [cpp] view plaincopy //-----线性表的单链表存储结构----- typedef struct

51CTO软考免费题库上线,精品资料包等你来拿!

还在打印厚厚的软考历年真题与解析的试卷吗?那你就真的Out啦! 手机微信就可以在线免费刷软考真题啦,历年真题.章节巩固.错题本...只有你想不到的,没有你找不到的~ 1.你只需要做:点击下方软考刷题小程序,进去找到你所在的科目,即可免费刷历年真题,章节巩固题!!! 2.关于我们/题源保证:软考宝典必备题库是IT在线教育领导品牌51CTO学院旗下,面向全国软考考生的免费精品题库.题库是由51CTO学院软考金牌讲师薛大龙.朱小平.徐朋.倪奕文.乔俊峰.钟志宏等教学团队,精心出题.编校解析而打造出的一

软考总结—5月份的春天

从三月中旬到五月23号,备战了两个月的软考终于结束了.无论结果如何,都是快乐的. 首先谈谈软考前的感受吧. 开始并不了解软考都考什么,即使同期的同学们已经很大一部分人通过了这项考试.知道他们从软考过程中可谓是名利双收.名,就是成为了软件设计师,有了中级职称:利,就是真正扎实了软.硬件知识基础,也从中感受到了自学考试带给我们的巨大帮助. 软考备考过程还是比较曲折的.首先是自己的计划没有做好,没有跟上集体制定的甘特图,一直到了快中期了,才发现比计划晚了将近一个星期左右.感觉上还是很着急,把重要不紧急