以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。#include stuct node{ char data; struct node *next;}; (48) CreatLis(char *s){ struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node)); p=q=h; while(*s!='\0') { p=(struct node *)malloc(sizeof(struct node)); p->data= (49) ; q->next=p; q= (50) ; s++; } p->next='\0'; return h;}main(){ char str[]="link list"; struct node *head; head=CreatLis(str); ...}
A.char *
B.struct node
C.struct node*
D.char
第1题:
以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请填空。 #include <stdlib.h> stuct node { char data; struet node * next; }; stntct node * CreatList(char * s) { struet node *h,*p,*q; h = (struct node * ) malloc(sizeof(struct node) ); p=q=h; while( * s! ='\0') { p = (struct node *) malloc ( sizeof(struct node) ); p - > data = ( ) q- >next=p; q=p; a++; p- > next ='\0'; return h; } main( ) { char str[ ]= "link list"; struet node * head; head = CreatList(str);
A.*s
B.s
C.*s++
D.(*s)++
第2题:
以下函数在head为头指针的具有头结点的单向链表中删除第1个结点,补充程序。
(1)j
(3)q->next
(4)q->next
(5)p
略
第3题:
3、编写程序建立一个单向链表。链表结点中的数据为从键盘输入的一个字符串,但要求将该串字符按由小到大的顺序组织在链表中。
第4题:
以下说法中不正确的是()。
A双向循环链表中每个结点需要包含两个指针域
B已知单向链表中任一结点的指针就能访问到链表中每个结点
C顺序存储的线性链表是可以随机访问的
D单向循环链表中尾结点的指针域中存放的是头指针
第5题:
以下是用头插法建立带头结点且有n个结点的单向链表的程序,要求结点中的数据域从前向后依次为n,n-1,……,1,完成程序中空格部分。
(1)p
(2)q=p
(3)(NODE*)malloc(sizeof(NODE))
(4)q->next
(5)p
略