以下程序的功能是:建立一个带有头结点的甲—向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。
#include <stdlib.h>
struct node
{ char data; struct node *next: };
(1) CreatList(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 = (2) ;
q->next = p;
q - (3) ;
S++;
}
p->next='\0';
return h;
}
main()
{
char str[]="link list";
struct node *head;
head = CreatList(str);
}
(1)
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题:
3、编写程序建立一个单向链表。链表结点中的数据为从键盘输入的一个字符串,但要求将该串字符按由小到大的顺序组织在链表中。
第3题:
5、5.在具有头结点的单链表中,头指针指向链表的第一个数据结点(的存储位置)。
第4题:
5.在具有头结点的单链表中,头指针指向链表的第一个数据结点(的存储位置)。
第5题:
11、为了逆序输出单链表中的结点,以下哪些算法无法实现该功能()。
A.第一步:将单链表逆置; 第二步:输出单链表中的元素; 第三步:将单链表逆置,即恢复之前的单链表。#B.第一步:将单链表中的 元素依次放入一个数组中 第二步:逆序输出该数组中的元素。#C.可用如下代码实现: void reversePrint(Node *p//p初值为单链表第一个结点 { while(p!=NULL) { reversePrint(p->next); printf("%c ",p->data); //假设结点值为字符 }#D.算法思想: 第一步:从头到尾找到最后一个结点; 第二步:从最后一个结点向前依次输出每个结点的值。