下面说法错误的是(B)
A 对循环链表来说,从表中任一结点出发都能通过前后 *** 作而扫描整个循环链表
B 对单链表来说,只有从头结点开始才能扫描表中全部结点
C 双链表的特点是找结点的前趋结点和后继结点很容易
D 对双链表来说,结点p的存储位置即存放在其前驱结点的后继指针域中,也存放在它的后继结点的前趋指针域中
解释:单链表有两种,一种有头结点,一种无头结点。所以不一定从头结点才能开始扫描。
线性链表不具有的性质(A)
A随机访问
B不必事先估计所需的存储空间大小
C插入与删除不必移动元素
D所需空间与线性表长度成正比
解释:要访问线性链表中的结点,需要从第一个结点(头结点或首元结点)开始向后查找。
正确的是(C)
A在单链表中,任何两个元素的存储位置之间都固定的联系,因为可以从头结点进行查找任何一个元素
B在单链表中,要取某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构
C顺序存储结构属于静态结构,链式结构属于动态
D顺序存储方式只能用于存储线性结构
线性表是一个具有n个(A)的有限序列
A表元素
B字符
C数据结构
D数据项
解释:书上写的是数据元素,但是对于该题应可以将“数据”具体化为“表”。
对于顺序表下列错误的是(A)
A顺序表是用一堆数组实现的线性表,数组的下标可以看成是元素的绝对地址
B顺序表的所有存储节点按相应的数据元素间的逻辑关系决定的次序依次排列
C顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻
D顺序表的特点是:逻辑上的相邻元素,存储在物理位置也相邻的单位中
解释:顺序表可以用一维数组实现,但并不是数组的下标就是元素的绝对地址。绝对地址X与基地址<B>、第几个元素<i>和每个结点所占用的存储单元大小<d>有关。X=B+(i-1)d
单链表的一个存储结点包含(A)
A数据域和指针域
B指针域或链域
C指针域和链域
D数据域和链域
如果以链表作为栈的存储结构,则入栈 *** 作时(A)
A必须判断是否为满
B必须判断元素类型
C必须判断栈是否为空
D对栈不进行 *** 作
解释:若栈满,则入栈后数据会溢出。因此需要判断。
这段代码应该是PASCAL语言写的。
p是一个指向记录类型(类似C中的结构体)的指针变量。
p↑link是指p指向的记录型变量的link域(我猜这个域也是一个记录类型的指针)。
上述代码应该是完成单链表中的节点插入 *** 作。
由于你没有给出完整的题目,上述解释可能不完全准确,但是大体思路应该正确。
用memcpy函数就行了,假如有两个int型的指针int A和int B,它们各存放N个int型的数据,现在要把指针B的内容复制到指针A中,这样写就可以了:memcpy( A, B, Nsizeof(int) ); 其他类型的数据写法是类似的。
线性表可以用一维数组来表示,或者进一步用堆栈和队列,这就要看你实现什么样的功能了。
以上就是关于很着急!!数据结构相关问题(比较基础的选择题),回答好的我多给20分!!全部的内容,包括:很着急!!数据结构相关问题(比较基础的选择题),回答好的我多给20分!!、计算机三级数据库技术中q:=p↑.link具体是什么意思、怎样把一个指针的内容复制给另一个指针(两个指针都有值),数据库中线性表怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)