以下说法正确的是( )。 Ⅰ.带头结点的循环双链表L为空的条件是:L->prior=L&&L->next==L Ⅱ.线性表的插入和删除总是伴随着大量数据的移动 Ⅲ.只有删除静态链表的尾结点才不需要移动元素 Ⅳ.若线性

admin2014-04-17  29

问题 以下说法正确的是(    )。
    Ⅰ.带头结点的循环双链表L为空的条件是:L->prior=L&&L->next==L
    Ⅱ.线性表的插入和删除总是伴随着大量数据的移动
    Ⅲ.只有删除静态链表的尾结点才不需要移动元素
    Ⅳ.若线性表采用链式存储结构,要求内存中可用存储单元的地址必须不连续

选项 A、仅Ⅰ
B、仅Ⅰ、Ⅱ
C、仅Ⅱ、Ⅲ
D、Ⅰ、Ⅱ、Ⅲ和Ⅳ

答案A

解析 Ⅰ:循环双链表为空时头结点体现如图1-6所示。

    可见,当满足L→prior=L&&L→next=L时,双链表为空,并且循环双链表与循环单链表一样,没有空指针域,所以Ⅰ正确。
    Ⅱ:链表也是线性表,链表的插入和删除操作不需要大量的数据移动,所以Ⅱ错误。
    Ⅲ:静态链表尽管使用的是数组存储方式,但是数据之间是靠指针(游标)相互关联的,故不管是删除静态链表中的哪一个结点,都不需要移动元素,只需要修改指针即可,所以Ⅲ错误。
    Ⅳ:线性表采用链表存储,前驱和后继之间的联系需要依靠由前驱指向后继的指针,而与前驱和后继在内存中的物理位置无关,因此对于整条链表的存储,不需要划分一块连续的存储空间;但将链表中的结点挨个连续存储在一片空间中也未尝不可。对于线性表的链式存储,连续或者不连续的存储空间都能满足要求,所以Ⅳ错误。
转载请注明原文地址:https://kaotiyun.com/show/yYxi777K
0

最新回复(0)