0135 栈、队列和数组

目录

3.栈、队列和数组

3.1栈

3.1部分习题

3.2队列

3.2部分习题


3.栈、队列和数组

3.1栈


3.1部分习题

1.设链表不带头结点且所有操作均在表头进行,则下列最不适合作为链栈的是()

A.只有表头结点指针,没有表尾指针的双向循环链表

B.只有表尾结点指针,没有表头指针的双向循环链表

C.只有表头结点指针,没有表尾指针的单向循环链表

D.只有表尾结点指针,没有表头指针的单向循环链表

2.向一个栈顶指针尾top的链栈(不带头结点)中插入一个x结点,则执行()

A.top->next=x        

B.x->next=top->next;top->next=x

C.x->next=top;top=x

D.x->next=top;top=top->next

3.设栈的初始状态为空,当字符序列“n1_”作为栈的输入时,输出长度为3,且可用做C语言标识符序列的有()

A.4        B.5        C.3        D.6


1.C

对于双向循环链表,不管是表头指针还是表尾指针,都可以很方便地找到表头结点,方便在表头做插入或删除操作,而单循环链表通过尾指针可以很方便地找到表头结点,但通过头指针找尾结点则需要遍历一次链表

2.C

进栈在首部插入一个结点x(x->next=top),插入后将top指向该插入结点x

3.C

标识符只能以英文字母或下划线开头,不能数字开头。有n1_,n_1,_1n,_n1四种,其中_n1不可能出现


3.2队列


3.2部分习题

1.最适合用作链队地链表是()

A.带队首指针和队尾指针地循环单链表

B.带队首指针和队尾指针地非循环单链表

C.只带队首指针的非循环单链表

D.只带队首指针的循环单链表

2.在一个链队列中,假设队头指针为front,队尾指针为rear,x所指向的元素需要入队,需执行的操作是()

A.front=x,front=front->next

B.x->next=front->next,front=x

C.rear->next=x,rear=x

D.rear->next=x,x->next=NULL,rear=x

3.设入口到出口之间有n条轨道,列车的行进方向均为从左至右,列车可驶入任意一条轨道,现有编号为1~9的9列列车,驶入的次序依次是8,4,2,5,3,9,1,6,7。若期望驶出的次序依次为1~9,则n至少是()

A.2        B.3        C.4        D.5


1.B

由于队列需在双端操作,选项C,D排除,A中链表在完成进队和出队后还要修改为循环的,多余

2.D

因为是队尾,x->next必须置空

3.C

先入队的元素必须小于后入队的元素,89一条,4567一条,23一条,1一条,所以至少4条

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nzmzmc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值