已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p,*q; 则下面语句序列的功能是 while(p->next->next != NULL) { p = p->next; } free(p->next); p->next = NULL;
A.删除链表的尾结点
B.删除p结点
C.删除结点q
D.删除p的前驱结点
A.删除链表的尾结点
B.删除p结点
C.删除结点q
D.删除p的前驱结点
第1题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p, *pr, *head; 若要找到p的前驱结点并将地址保存在pr中,则下面正确的语句序列是
A、pr = head; while(pr->next!=p) { pr = pr->next; }
B、p = head; pr = head; while(pr->next!=p) { pr = pr->next; }
C、pr = head; while(pr!=p) { pr = pr->next; }
D、p = head; while(p->next!=pr) { p = p->next; }
第2题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p,*q; 则下面语句序列的功能是while(p->next->next != NULL) { p = p->next; } free(p->next); p->next = NULL;
A、删除链表的尾结点
B、删除p结点
C、删除结点q
D、删除p的前驱结点
第3题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p,*q; 则下面语句序列的功能是while(p->next->next != NULL) { p = p->next; } free(p->next); p->next = NULL;
A、删除链表的尾结点
B、删除p结点
C、删除结点q
D、删除p的前驱结点
第4题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p, *pr, *head; 若要找到p的前驱结点并将地址保存在pr中,则下面正确的语句序列是
A、pr = head; while(pr->next!=p) { pr = pr->next; }
B、p = head; pr = head; while(pr->next!=p) { pr = pr->next; }
C、pr = head; while(pr!=p) { pr = pr->next; }
D、p = head; while(p->next!=pr) { p = p->next; }
第5题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p, *pr, *head; 若要找到p的前驱结点并将地址保存在pr中,则下面正确的语句序列是
A、pr = head; while(pr->next!=p) { pr = pr->next; }
B、p = head; pr = head; while(pr->next!=p) { pr = pr->next; }
C、pr = head; while(pr!=p) { pr = pr->next; }
D、p = head; while(p->next!=pr) { p = p->next; }
第6题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p, *pr, *head; 若要找到p的前驱结点并将地址保存在pr中,则下面正确的语句序列是
A、pr = head; while(pr->next!=p) { pr = pr->next; }
B、p = head; pr = head; while(pr->next!=p) { pr = pr->next; }
C、pr = head; while(pr!=p) { pr = pr->next; }
D、p = head; while(p->next!=pr) { p = p->next; }
第7题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p,*q; 则下面语句序列的功能是 while(p->next->next != NULL) { p = p->next; } free(p->next); p->next = NULL;
A、删除链表的尾结点
B、删除p结点
C、删除结点q
D、删除p的前驱结点
第8题
已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。且所有结点都已具有如下形式的结构定义: struct node { int data; struct node *next; }*p,*q; 则下面语句序列的功能是while(p->next->next != NULL) { p = p->next; } free(p->next); p->next = NULL;
A、删除链表的尾结点
B、删除p结点
C、删除结点q
D、删除p的前驱结点
第9题
已知L是非空单链表,head是链表的头指针,且所有结点都已具有如下形式的结构定义:struct node { int data; struct node *next; }*p; 若要删除头结点,则下面正确的语句序列是
A、p = head; head = p->next; free(p);
B、head = head->next; free(head);
C、p = head->next; free(p);
D、head = head->next; p = head; free(p);
第10题
已知L是非空单链表,head是链表的头指针,且所有结点都已具有如下形式的结构定义:struct node { int data; struct node *next; }*p; 若要删除头结点,则下面正确的语句序列是
A、p = head; head = p->next; free(p);
B、head = head->next; free(head);
C、p = head->next; free(p);
D、head = head->next; p = head; free(p);
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!