3.2队列栈 训练 -2022-2023学年浙教版(2019)高中信息技术选修1

2023-05-24
| 5页
| 1022人阅读
| 341人下载

内容正文:

栈 队列专项选择 1.有1个队列,队首到队尾的元素依次为8,3,2,9,5。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。则经过TTTQTTQ系列操作后,队列中队首到队尾的元素依次为( ) A.2,9,5 B.2,5,8 C.5,8,2 D.8,3,2 2.某诊所叫号系统中,利用队列来存储当前正在排队病人的编号,head指向队首元素,tail指向队尾元素的下一个位置。若当前没有病人,则head与tail的值分别为( ) A.head!=tail B.head>tail C.head==tail D.head<tail 3.用一个大小为60的数组来做循环队列,循环队列需要牺牲队尾和队首之间一个存储空间来区分队空和队满,队首指针是head,队尾指针tail指向最后一个元素的下一个位置,则当head等于54,tail等于3的时候,先出队8个元素,再入队20个元素,则head和tail分别是( ) A.1,22 B.2,23 C.23,2 D.22,1 4. 一个序列的入栈顺序为 1,2,3,4,5,6,若 4 第一个出栈,则下列出栈序列中不可能的是( ) A. 4,5,3,6,2,1 B. 4,6,5,3,2,1 C. 4,3,5,2,6,1 D. 4,2,3,1,5,6 5.有如下Python程序段: st=['3','8','5','a','9'] que=[0]*20 ; key=2 head=0 ; tail=0 for i in range(len(st)): if "0"<=st[i]<="9": que[tail]=(int(st[i])+key)%10 tail+=1 else: head+=1 while head!=tail: print(que[head],end="") head+=1 程序运行后,输出的结果是( ) A.071 B.5071 C.507c1 D.'5','0','7','c','1' 6.有如下Python程序段: a=[2,4,5,10,8,13,11,7,2,6] que=[0]*len(a) ; k=int(input()) key=int(input()) ;msq=0 ; sq=0 head=0 ; tail=0 for i in a: que[tail]=i sq=sq+i tail=tail+1 while sq>key or tail-head>=k: sq=sq-que[head] head=head+1 if sq>msq: msq=sq 若输入k的值为3、key的值为20,则程序运行后,变量msq的值为( ) A.18 B.19 C.20 D.32 11、有如下Python程序段: s="abbacabcccbb";sl="" st=[""]*100; top+=1;st[top]=s[0] for i in s[1:]: if i!=st[top]: top+=l;st[top]=i else: top=top-l while top>=0: s1=st[top]+sl;top-=1 执行该程序段后,变量s1的值是( ) A .'acba' B . 'cbac' C . 'abca' D . 'cabc" 7.n个人站成一排,从左向右的编号分别为1——n,现在从左往右报数“1,2,1,2,……”,数到“1”的立即站到队伍的最右端,数到“2”的人出列,反复进行,直到n个人出列为止。 q=[i for i in range(9)] head,tail=1,0 count=0 while head!=tail: if count==2: print(q[head],"->",sep="",end="") else: q[tail]=q[hea

资源预览图

3.2队列栈 训练 -2022-2023学年浙教版(2019)高中信息技术选修1
1
3.2队列栈 训练 -2022-2023学年浙教版(2019)高中信息技术选修1
2
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。