0135 栈、队列和数组

目录

3.栈、队列和数组

3.1栈

3.1部分习题

3.2队列

3.2部分习题


3.栈、队列和数组

3.1栈

0135 栈、队列和数组_第1张图片

0135 栈、队列和数组_第2张图片

0135 栈、队列和数组_第3张图片


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队列

0135 栈、队列和数组_第4张图片

0135 栈、队列和数组_第5张图片

0135 栈、队列和数组_第6张图片

0135 栈、队列和数组_第7张图片


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条

你可能感兴趣的:(数据结构与算法的学习,笔记)