更多“判断单链表有没有环的算法中,至少需要几个指针()A.1B.2C.3D.4 ”相关问题
  • 第1题:

    在长度为n的 _______ 上,删除第一个元素,其算法的时间复杂度为O(n)。

    A.只有表头指针的不带表头节点的循环单链表

    B.只有表尾指针的不带表头节点的循环单链表

    C.只有表尾指针的带表头节点的循环单链表

    D.只有表头指针的带表头节点的循环单链表


    A

  • 第2题:

    38、在长度为n的 _______ 上,删除第一个元素,其算法的时间复杂度为O(n)。

    A.只有表头指针的不带表头节点的循环单链表

    B.只有表尾指针的不带表头节点的循环单链表

    C.只有表尾指针的带表头节点的循环单链表

    D.只有表头指针的带表头节点的循环单链表


    只有表头指针的不带表头节点的循环单链表

  • 第3题:

    4、假设在长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某个结点的指针,编写一个算法删除该结点的前驱结点


    status DeleteNode( ListNode *s) { //删除单循环链表中指定结点的直接前趋结点 ListNode *p, *q; p=s; while( p->next->next!=s) { q=p; p=p->next; } q->next=s; //删除结点 free(p); //释放空间 return OK; }

  • 第4题:

    假设在长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某个结点的指针,编写一个算法删除该结点的前驱结点。


    status DeleteNode( ListNode *s) { //删除单循环链表中指定结点的直接前趋结点 ListNode *p, *q; p=s; while( p->next->next!=s) { q=p; p=p->next; } q->next=s; //删除结点 free(p); //释放空间 return OK; }

  • 第5题:

    7、假设在长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某个结点的指针,编写一个算法删除该结点的前驱结点。


    status DeleteNode( ListNode *s) { //删除单循环链表中指定结点的直接前趋结点 ListNode *p, *q; p=s; while( p->next->next!=s) { q=p; p=p->next; } q->next=s; //删除结点 free(p); //释放空间 return OK; }