以下函数creat用来建立一个带头结点的单向链表,新产生的结点是插在链表头的 末尾。单向链表的头
以下程序中函数fun()的功能是构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。
include <atdio.h> typedef struct node /*链表结点结构*/ { char sub[3]; struct node * next; } Node Node ~un(char s) /*建立链表*/ {......} void disp(Node * h) { Node * Ps p=h->next; while(【 】) { printf("%s\n",p->suh);p= 【 】;} } main() { Node * hd; hd = fun(); disp(hd) ;prinff(" \n" );
已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有链结点数据域的和值,作为函数值返回。请在下划线内填入正确内容。 { int data;struct link*next; } main() { struct link*head; ┆ sum(head); ┆} sum(【 】); { struct link*p;int s=0; p=head->next; while(p){s+=p->data;p=p->next;} return(s);}
已知sq是带头结点的非空单链表,且*p结点既不是第一个结点,也不是最后一个结点,则
①删除*p结点的直接后继结点的语句序列。
②删除*p结点的直接前驱结点的语句序列。
③删除*p结点的语句序列。
④删除第一个结点的语句序列。
⑤删除最后一个结点的语句序列。
以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。 struct link { char data; struct link*next;}; … struct link*p,*first; int c=0; p=first; while(【 】) { c++; p=【 】;}