举一反三
- 中国大学MOOC:"已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点http://img0.ph.126.net/q4DCvQfrJeuegcRUOzZlBg==/3316901125658873415.jpg且所有结点都已具有如下形式的结构定义:struct node{ int data; struct node *next;}*p, *pr, *head;若要找到p的前驱结点并将地址保存在pr中,则下面正确的语句序列是";
- 中国大学MOOC:"已知L是非空单链表,head是链表的头指针,且所有结点都已具有如下形式的结构定义:http://img0.ph.126.net/OSNYct8BSqrb5cBEXT_ZFg==/6608632230934673091.jpgstruct node{ int data; struct node *next;}*p;若要删除头结点,则下面正确的语句序列是";
- 中国大学MOOC: 已知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;
- 向建立好的单向链表中的结点pr后插入一个新结点p,且所有结点都已具有如下形式的结构定义:structnode{intdata;structnode*next;}*p,*pr,*head;则操作正确的是A.p->next=pr->next;pr->next=p;B.structnode*pTemp;pTemp=pr->next;pr->next=p;p->next=pTemp;C.pr->next=p;D.p->next=pr->next;pr=p;E.pr->next=p;p->next=pr->next;
- 中国大学MOOC: 对于如下语句struct node{ int id; struct node *next;}*p;p=(struct node*)malloc(sizeof(struct node)*10);如下说法正确的是
内容
- 0
已有定义如下:struct node{ int data;struct node *next;} *p;以下语句调用malloc函数填空。使指针p指向一个具有struct node类型的动态存储空间。p = (struct node *)malloc(【 】);
- 1
设有以下定义: struct node { int data; struct node *next; }*p; 则以下的语句中正确的是()。 A: p=malloc(sizeof(struct node)) B: p=(struct node *)malloc(sizeof(struct node)) C: *p=(struct node *)malloc(4) D: p=(struct node )malloc(sizeof(struct node))
- 2
中国大学MOOC: 有以下结构体说明和变量定义,如图所示: struct node{int data; struct node *next;} *p,*q,*r; 现要将 q 所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。
- 3
中国大学MOOC: 有以下结构体说明和变量定义,指针p、q、r分别指向一个链表中的三个连续结点。struct node {int data; struct node *next;} *p, *q, *r;【图片】现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是( )。
- 4
有下列结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续结点。 struct node { int data; struct node *next; }*p,*q,*r; 现要将q所指结点从链表中删除,同时要保持链表的连续,下列不能完成指定操作的语句是