第10周课后作业(结构体链表)(选择题)

10.可以用带表头附加结点的链表表示线性表,也可以用不带头结点的链表表示线性表,前者最主要的好处是()。

A.可以加快对表的遍历

B.使空表和非空表的处理统一

C.节省存储空间

D.可以提高存取表元素的速度

 

13.在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()。

A.p->next=q->next; q->next=p;

B.q->next=p->next; p=q;

C.p->next=q->next; p->next=q;

D.q->next=p->next; p->next=q;

 

16.以下程序段的功能是:输入一行字符,按输入的逆序建立一个链表。

char c;
struct node{
    char info;
    struct node *link;
} *top, *p;

top = NULL;
while ( (c = getchar() ) != '\n'){
    p = (struct node*) malloc(sizeof(struct node));
    p->info = c;
    _________ ;
    top = p;
}

A.top->link = p

B.p->link = top

C.top = p->link

D.p = top->link

 

18.在一个单链表head中,若要删除指针p所指结点的后继结点,则执行()。

A.p=p->next;free(p);

B.p->next=p->next->next; free(p);

C.q= p->next q->next=p->next; free(q);

D.q=p->next; p->next=q->next; free(q);

 

19.以下结构类型可用来构造链表的是()。

A.struct aa{ int a;int * b;};

B.struct bb{ int a;bb * b;};

C.struct cc{ int * a;cc b;};

D.struct dd{ int * a;aa b;};

 

设单链表中结点的结构为

struct LinkNode{ //链表结点定义

    E data; //数据

    LinkNode * link; //结点后继指针

};

不带头结点的单链表first为空的判定条件是()。

A.first==NULL;

B.first->link== NULL;

C.first->link== first;

D.first! = NULL

 

26.若已建立下面的链表结构,指针 p、q 分别指向图中所示结点,则不能将 q 所指结点插入到链表末尾的语句是( )。

addaafdc67d45dedba767a9a72865ad7.png

A.

q->next = NULL;
p = p->next; 
p->next = q;

B.

p = p->next; 
q->next = p->next;
p->next = q;

C.

p = p->next; 
q->next = p;
p->next = q;

D

p = (*p).next; 
(*q).next = (*p).next;
(*p).next = q;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

102101222_张凯权

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值