itgle.com
更多“已知带头结点的双向循环链表L,判断其为空表的条件是L->next==L && L->prior==L。”相关问题
  • 第1题:

    非空单循环链表L中结点*p是尾结点的条件是()。


    参考答案:p->next==L

  • 第2题:

    阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度 freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

    【函数】

    void Locate( int &x)

    { <结点类型说明>

    * p =first -> next;

    while(p!=frist&&(1))P=P->next;

    if(p! =first) /*链表中存在x*/

    {(2);

    <结点类型说明>

    * current = P; /*从链表中摘下这个结点*/

    Current -> prior -> next = current -> next;

    Current -> next -> prior = current -> prior;

    P = current -> prior; /*寻找重新插入的位置*/

    While(p! =first &&(3))p=p->prior;

    Current-> next =(4); /*插入在P之后*?

    Current -> prior = P;

    P -> next -> prior = current;

    P->next=(5);

    }

    else printf("Sorry. Not find! \n"); /*没找到*/

    }


    正确答案:(1)p->data!=x (2)p->freq++ (3)current->freq>P->freq (4)p->next (5)current
    (1)p->data!=x (2)p->freq++ (3)current->freq>P->freq (4)p->next (5)current 解析:(1)空所在的循环是定位x,将指针指向x结点(如存在的话),因此(1)空应填写“p->data!=x”。显然,(2)空是使该结点的访问频度加1,因此(2)空应填写“p->freq++”。(3)空所在的循环是根据访问频度定位x结点的新位置,用P指向x结点的前驱,因此(3)空处应填“current->freq>P->freq”。
    (4)、(5)空之间的语句是将结点x插入在P之后。(4)空所在语句是将指针P指向x结点的前驱,因此(4)空应填写“p->next”。(5)空所在语句是将P后继指向结点current,因此空(5)处应填写“current”。

  • 第3题:

    在非空双向循环链表结点中,prior域指向该结点的直接前驱,next域指向直接后续,那么在q所指的结点后面插入p所指的结点的过程为______。

    A.q→next=p;p→prior=q;q→next→prior=p;p→next=q→next。

    B.p→next=q→next;q→next=p;q→next→prior=p;p→prior=q。

    C.p→prior=q;p→next=q→next;q→next=p;q→next→prior=p。

    D.p→next=q→next;q→next→prior=p;p→prior=q;→next=p。


    正确答案:D

  • 第4题:

    在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行()嗓作。

    • A、p = p->prior;p->prior->next = p->next
    • B、p->prior->next = p;p->next = p->next->prior
    • C、p->next->prior = p;p->next = p->next->next
    • D、p->prior->next = p->next;p->next->prior = p->prior

    正确答案:D

  • 第5题:

    判断带头结点的单链表L为空的条件()


    正确答案:L->next==NULL

  • 第6题:

    带头结点的双向循环链表L为空表的条件是()。


    正确答案:L一>prior=L一>next=L

  • 第7题:

    带头结点head的双循环链表为空表的条件是()或()


    正确答案:head->next=haed->prior;head->next=head

  • 第8题:

    已知一个带头结点单链表L,在表头元素前插入新结点 *s的语句为:()

    • A、 L=s;s->next=L;
    • B、 s->next=L->next;L->next=s;
    • C、 s=L;s->next=L;
    • D、 s->next=L; s=L;

    正确答案:B

  • 第9题:

    填空题
    带头结点的双向循环链表L为空表的条件是()。

    正确答案: L一>prior=L一>next=L
    解析: 暂无解析

  • 第10题:

    判断题
    非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p->prior=q,p->next=q->next,q->next=p,q->prior->next←p。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第11题:

    单选题
    已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()
    A

     L=s; s->next=L;

    B

     s->next=L; L=s;

    C

     s=L; s->next=L;

    D

     s->next=L; s=L;


    正确答案: A
    解析: 暂无解析

  • 第12题:

    填空题
    设head为单循环链表L的头结点,则L为空表的条件是()

    正确答案: head->next=head
    解析: 单循环链表与单链表的区别仅仅在于其尾结点的链域值不是NULL,而是一个指向头结点的指针。若单循环链表L为空表,则单循环链表l的头结点head的链域值不应指向任何其他结点,只能指向它本身,即head->next=head。

  • 第13题:

    带头结点的双向循环链表L为空的条件是()。

    A.L==NULL

    B.L->next==NULL

    C.L->prior==NULL

    D.L->next==L


    正确答案:D

  • 第14题:

    单链表的头指针为p,若有头结点,则表空的判断条件是();若不带头结点,则表空的判断条件是()。

    A.p==NULL

    B.p->next==NULL

    C.p->next->next==NULL


    参考答案:B,A

  • 第15题:

    非空的单循环链表L的尾结点P↑,满足( )

    A.P↑.next=NULL;

    B.P=NULL;

    C.P↑.next=L;

    D.P=L


    正确答案:C

  • 第16题:

    带头结点的循环单链表head为空的判断条件是()

    • A、 head == NULL
    • B、 head != NULL
    • C、 head->next == head
    • D、 head->next == NULL

    正确答案:C

  • 第17题:

    设head为单循环链表L的头结点,则L为空表的条件是()


    正确答案:head->next=head

  • 第18题:

    带头节点的单链表L为空的判定条件是()。

    • A、L = =null
    • B、L->data= =null
    • C、L->next= =null
    • D、L->next= =data

    正确答案:C

  • 第19题:

    已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()

    • A、 L=s; s->next=L;
    • B、 s->next=L; L=s;
    • C、 s=L; s->next=L;
    • D、 s->next=L; s=L;

    正确答案:B

  • 第20题:

    非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p->prior=q,p->next=q->next,q->next=p,q->prior->next←p。


    正确答案:错误

  • 第21题:

    单选题
    带头节点的单链表L为空的判定条件是()。
    A

    L = =null

    B

    L->data= =null

    C

    L->next= =null

    D

    L->next= =data


    正确答案: B
    解析: 暂无解析

  • 第22题:

    单选题
    已知一个带头结点单链表L,在表头元素前插入新结点 *s的语句为:()
    A

     L=s;s->next=L;

    B

     s->next=L->next;L->next=s;

    C

     s=L;s->next=L;

    D

     s->next=L; s=L;


    正确答案: D
    解析: 暂无解析

  • 第23题:

    单选题
    带头结点的循环单链表head为空的判断条件是()
    A

     head == NULL

    B

     head != NULL

    C

     head->next == head

    D

     head->next == NULL


    正确答案: C
    解析: 暂无解析

  • 第24题:

    填空题
    判断带头结点的单链表L为空的条件()

    正确答案: L->next==NULL
    解析: 暂无解析