14专题七 数据的组织_第1页
14专题七 数据的组织_第2页
14专题七 数据的组织_第3页
14专题七 数据的组织_第4页
14专题七 数据的组织_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一部分信息技术

专题七数据的组织高考技术某省市专用考点集训考点一

数组考点二

链表考点三

队列考点四栈考点五树目录考点集训考点一数组1.(2024浙江6月选考,11,2分)有如下Python程序段:foriinrange(0,len(a)-1,2):ifi>0anda[i]<a[i-1]:a[i],a[i-1]=a[i-1],a[i]ifa[i]<a[i+1]:a[i],a[i+1]=a[i+1],a[i]列表a有6个元素,运行该程序段后,a可能的值是

()A.[2,9,8,6,9,3]B.[9,9,8,6,3,2]C.[9,3,6,2,8,9]D.[6,3,9,2,9,8]D解析

本题考查数组排序算法知识。由于本题原数据未知,因此当第一个if判定执行

后a[i]>=a[i-1],而第二个if判定执行后a[i]>=a[i+1],后续的i位置数据都应符合这个规律,

因此a[0]、a[2]、a[4]的三个数据应比各自前后位置的数据都要大(a[0]只与a[1]比较),

只有答案D符合上述规律。2.(2024Z20名校联盟联考,12)数组元素a[0]至a[n-1]依次存放着n个不重复的正整数。

现要在数组a中按顺序找出一组升序子序列,可以不连续,但要求长度最长(若有多个长

度相等的最长子序列时,输出第一个)。例如:数组a的值为[2,11,4,13,5,17],其中最长的

升序子序列是[2,11,13,17]。实现该功能的程序段如下。a=[2,11,4,13,5,7]n=len(a);ans=[]d=[[1,-1]foriinrange(n)]#d[i]包含2个数据项,d[i][0]记录i位置结尾的最长升序子序列的长度#d[i][1]记录i结尾的最长升序子序列前一数据的索引位置①d[i][0]<d[j][0]②d[j][0]>=d[i][0]③d[i][0]=d[i][0]+1④d[i][0]=d[j][0]+1划线处应填的合适代码依次为

()A.①③B.①④C.②③D.②④D解析

本题考查数组及最长子序列的问题。从注释语句中可得知d[i]包含2个数据项,d

[i][0]记录i位置结尾的最长升序子序列的长度,d[i][1]记录i结尾的最长升序子序列前

一数据的索引位置。在if语句中表述了一个条件a[j]<a[i],表示j位置数据小于i位置

数据,如果要更新子序列的长度还必须保证j位置结尾的升序子序列的长度值不小于i

位置结尾的升序子序列长度值,因此第一空应填d[j][0]>=d[i][0],在第二空下面的一句

代码是d[i][1]=j,说明第二空应该给d[i][0]赋值,d[j][0]记录j位置结尾的最长升序子

序列的长度,又因为a[j]<a[i],所以i位置结尾的最长升序子序列的长度值应该是d[j][0]

+1,第二空应填d[i][0]=d[j][0]+1。3.(2024嵊州月考,10)数组元素a[0]至a[n-1]依次存放着n个数据,现需要将下标为x(0≤x

≤n-1)的元素在逻辑上删除,例如:n为5,数组a为[1,3,5,7,9],x为2,删除操作后输出[1,3,7,

9]。实现该功能的程序段如下,横线中应填入的正确代码为

()a=[1,3,5,7,9]n=len(a)x=2foriinrange(①

):

print(a[:-1])A.①x,n②a[i-1]=a[i]B.①n-x②a[i-1]=a[i]C.①x,n②a[i]=a[i+1]D.①x-n,-1②a[i]=a[i+1]答案

D解析

本题考查数组操作。要从数组中删去索引为2的值,需要将[x+1,n-1]范围内的值

向前某著名企业1位,②处为移数操作,若为a[i-1]=a[i],则①处应填x+1,n,排除A和B;②若为a[i]=

a[i+1],①处应填:x,n-1,排除C,那么采用负索引:x-n,-1,即D选项。4.(2024浙江1月选考,9,2分)数组元素a[0]至a[n-1]依次存放着n个数据,现需要将元素a[n

-1]插入在下标为x(0≤x<n-1)的位置,例如:n为5,数组a为[0,3,4,6,7],x为2,插入操作后a为

[0,3,7,4,6]。实现该功能的程序段如下,方框中应填入的正确代码为()temp=a[n-1]foriinrange(n-2,x-1,-1):a[x]=tempA.a[i+1]=a[i]B.a[i-1]=a[i]C.a[i]=a[i+1]D.a[i]=a[i-1]A解析

本题考查数据插入,数组元素移位相关知识。根据题目条件可知a=[0,3,4,6,7],n=

5,x=2。首先备份列表最后一个元素值temp=7。接着通过for循环,i范围从n-2开始到x

结束,可以分析出该范围内的列表元素均进行了后移一位操作,即a[i+1]=a[i]。最后将

temp插入a[x]位置。5.(2024诸暨月考,10)数组元素a[0]至a[n-1]依次存放着n个数据,其中前n-1个数据不重复

且有序,现需要将x(与前n-1个数据不重复)插入到数组中,使数组仍然有序。例如:n为5,

数组a为[0,5,10,20,20],x为8,插入操作后a为[0,5,8,10,20]。实现该功能的程序段如下:i=0whilei<n-1anda[i]<x:i+=1forkinrange(

):a[k]=a[k-1]a[i]=x方框中应填入的正确代码为

()A.n,i,-1B.n-1,i,-1C.i+1,nD.i-1,n-1B解析

本题考查数组的相关知识。要将x有序插入到数组a中,首先从a中找到要插入的

位置,当x<a[i]时,退出第一段循环,因此插入点就在位置i;然后将最后一个数据到第i个

数据依次向后某著名企业一位,因为a[k]=a[k-1],循环变量k指需重新填充数据的位置,应为n-1

到i+1,选择B。考点二链表1.(2025届新阵地教育联盟联考,12)使用列表d模拟链表结构(节点数大于0),每个节点

包含数据区域和指针区域,h为头指针。链表中各节点己按数据区域中数值由小到大排

列,如图a所示。现要修改该链表各节点的链接关系,使链表各节点按数据区域中的数

值由大到小排列,结果如图b所示。实现该功能的程序段如下,方框中应填入的正确代

码为()p=d[h][1]whilep!=-1:q=d[p][1]d[p][-1]=-1

答案

B解析

本题考查链表操作,阅读分析代码的能力。要实现题目目标,即为让链表的指针逆转:从头节点开始,逐个反转指针,使每个节点指

向它前一个节点。直到链表末尾。最终,新的头节点为原来的尾节点,链表即实现了从

升序排列变为降序排列。明确完操作选择对应代码即可,结果为B。代码逐行分析如

下:p=d[h][t]#将p设置为头节点h的下一个节点索引whilep!=-1:#循环继续,直到p为-1,即链表末尾q=d[p][1]#保存当前节点p的下一个节点索引到q,即使我们改变了p的指针区域,也不会丢失原链表的结构d[p][-1]=h#d[p][-1]表示链表节点的"指针区域",将当前节#点的指针指向前一个

节点h,实现逆序h=p#更新h为当前节点索引p,使h始终指向最新处理的节点p=q#将p更新为下一个节点q,继续循环d[p][-1]=-1#在循环结束后,将最后一个节点的指针设为-1,标记链表结束,循环结束后,p

=-1,即指向数组的最后一个元素2.(2025届强基联盟联考,12)有如下Python程序段,其功能是在降序链表中删除数据为

key的所有节点,链表link中每个节点由一个数据域和一个指针域组成。#建立链表link,代码略head=0key=int(input("输入要删除的数据"))t=q=headwhilelink[t][0]!=keyandt!=-1:q=tt=link[t][1]p=twhile①

:p=link[p][1]ift==head:head=pelse:

划线处应填入的代码为

()A.①link[p][0]==keyandp!=-1②link[q][1]=pB.①link[p][0]!=keyandp!=-1②link[q][1]=pC.①link[p][0]==keyandp!=-1②link[q][1]=link[p][1]D.①link[p][0]!=keyandp!=-1②link[q][1]=link[p][1]A解析

本题考查链表的相关知识。题目要求删除链表中所有数据域为key的节点。给

定的代码段首先通过一个循环找到第一个数据域为key的节点(或确认没有这样的节

点),然后通过一个循环找到第一个非key的节点,再将所有这样的节点一起删除。第一

个划线处为循环条件,用于遍历链表,从第一个找到的key节点开始,直到链表末尾或不

再遇到key节点。因此,循环条件应该是检查当前节点的数据域是否等于key并且当前

节点不是链表末尾(即p不等于-1),代码为link[p][0]==keyandp!=-1。第二个划线处,当

找到第一个key节点(或确认没有这样的节点)后,我们需要跳过所有连续的key节点,将

前一个key节点之前的节点(如果有的话)直接链接到第一个非key的节点,即link[q][1]=

p。3.(2025届江浙高中发展共同体联考,12)使用列表data模拟链表结构(节点数n>0),如图a

所示,每个节点包含数据区域(学生编号和性别)和指针区域,head为头指针。现要将链

表整理成女生在前,男生在后,且不改变学生在男女生中的相对位置,结果如图b所示。

实现上述功能的Python程序段如下,方框中应填入的正确代码为

()

head=0;p=t1=t2=headp=data[p][2]data[head][2]=-1whilep!=-1:t=data[p][2]ifdata[p][1]=="男":ifdata[t2][1]="女":data[t1][2]=pelse:data[t2][2]=pt2=pdata[p][2]=-1else:t1=pp=tA.ifdata[t1][1]=="女":data[p][2]=data[t1][2]data[t1][2]=pelse:data[p][2]=t1head=pB.ifdata[t2][1]=="女":data[p][2]=data[t2][2]data[t2][2]=pelse:data[p][2]=t2head=pC.ifdata[t1][1]=="女":data[p][2]=data[t1][2]data[t1][2]=data[p][2]else:data[p][2]=t1head=pD.ifdata[t2][1]=="女":data[t1][2]=data[p][2]data[t2][2]=data[p][2]else:data[p][2]=t2head=p

答案

A解析

本题考查链表的基本操作。根据前四行代码可知,p节点对应头节点的下一个节

点,t1和t2指向头节点,将头节点的指针设置为-1。while循环需要当前节点不为空时执

行,t节点对应p节点的指针,即指向下一个需要处理的节点。当p节点为男生时,存在两

种情况,若头节点为女生,则需要将其插入到女生后面,否则将其插入到男生节点后面。

在if语句中,对t2节点进行判断,判断其是不是女生,若为女生,则将其插入到t1节点后面,

否则插入到t2节点后面,可知t1为最后一个女生节点对应的位置,t2为最后一个男生节

点对应的位置。else语句执行时,则p节点为女生,此时判断t1节点若为女生,则将其插入

到t1节点后面,即将t1节点的指针赋值给p节点,将t1节点指向p,代码为data[p][2]=data[t1]

[2],data[t1][2]=p,若t1节点为男生,则需要将p节点插入到t1节点之前,即将p节点指向t1,并将该女生节点修改为头节点,代码为data[p][2]=t1,head=p。在四个选项中,符合条件

的为A。4.(2025届七彩阳光返校考,12)差集a-b是指属于a但不属于b的元素构成的集合,现用链

表模拟差集运算。链表每个节点包含数据区域和指针区域,a[0][0],a[1][0],a[2][0],…存

放集合a的数据,b[0][0],b[1][0],b[2][0],…存放集合b的数据,ha为集合a链表的头指针,hb

为集合b链表的头指针。假设集合中元素都递增存放,且允素重复。

实现集合的差集运算a-b的Python程序如下,方框中应填入的正确代码为

()p=ha=0;q=hb=0;tp=0whileha!=-1andp!=-1andq!=-1:ifa[ha][0]==b[q][0]:ha=a[ha][1]p=haelse:ifa[p][0]>b[q][0]:q=b[q][1]#从ha指针处输出链表a的数据,代码略A.elifa[p][0]<b[q][0]:tp=pp=a[p][1]else:p=a[p][1]tp=pB.elifa[p][0]<b[q][0]:p=tptp=a[tp][1]else:a[p][1]=a[tp][1]tp=a[tp][1]C.elifa[p][0]<b[q][0]:p=a[p][1]tp=pelse:a[tp][1]=a[p][1]tp=pD.elifa[p][0]<b[q][0]:tp=pp=a[p][1]else:a[tp][1]=a[p][1]p=a[p][1]

答案

D解析

本题考查链表的综合应用。从第3行代码可知,当a链表的头节点与b链表的q节

点相等时,a的头指针往后移,p指针指向新的头节点。可知链表a是最后差值的结果。

当然,从最后程序的输出注释也可以验证这一点。另外也可以得到一个结论:q指针是

用来遍历b链表的。程序第7行,当a链表的p节点大于b链表的q节点时,说明与a[p][0]相

等的节点应该在b链表q指针之后的节点上,因此q指针往后移。纵观所有选项的另外两

个分支,都考虑了a[p][0]和b[q][0]的大小关系。当a[p][0]<b[q][0]时,说明a链表的p节点

比b链表最小节点都要小,那么a链表的p节点应该予以保留(b集合不存在这个元素,a集

合中这个元素不会被减掉);a[p][0]和b[q][0]相等时,a[p]节点予以删除。这几个操作与

教材上有序表的合并很相似。那么如何保存a[p]节点和删除a[p]节点呢?一般的步骤是让p的上一个节点指向p的下一个节点,从这点看选项C、D更符合操作。选项A,删除时

(else部分)直接让p指向下一个节点,tp指针指向p,且保留节点的操作也有一样的语句,不

合理。选项B,删除时让p的下一个指向tp的下一个,tp似乎保存了被删除的节点,然而保

留操作时p又会指向tp节点,也不合理。选项C,保留节点操作时p=a[p][1]让p指向了下一

个节点,确实也能保留p节点,然而tp=p的语句让tp指针与p指针位置进行了同步,以至于

在else语句中a[tp][1]=a[p][1]并不一定能让p的前一个节点指向p的后一个节点。选

项D,保留节点时先让tp指向p,然后p再指向下一个节点,这样tp比p某著名企业得更慢,相当于保

留了原来的p节点。在删除部分,a[tp][1]=a[p][1]让更靠左的指针指向p的下一个节点,

相当于可以将p节点删除。这里的p维持了需要保留的链表的尾指针。答案为D。5.(2025届强基联盟联考,12)某无序链表如图a所示,对链表数据进行整理,将所有小于x

的节点通过头插的方法逐个放置在链表前面。例如,当x等于3时,对数据进行整理的结

果如图b所示:

实现程序代码如下:a=[[1,1],[4,2],[2,3],[3,4],[5,5],[2,-1]]p=head=0x=int(input())frt=-1whilep!=-1:ifa[p][0]<xandp!=head:pp=p#提取出要某著名企业的元素else:frt=pp=a[p][1]方框处可填入的代码为

()A.a[pp][1]=headhead=ppa[frt][1]=a[p][1]p=a[p][1]B.a[frt][1]=a[p][1]p=a[p][1]a[pp][1]=headhead=ppC.a[frt][1]=a[p][1]a[p][1]=headp=a[p][1]head=ppD.a[pp][1]=headhead=ppa[p][1]=a[frt][1]p=a[p][1]B解析

本题考查链表的插入与删除操作。当找到一个小于x的节点时,需要将其某著名企业到

链表的前面。这意味着我们需要更新其next指针指向当前的head,并更新head为新找到

的节点的索引。同时,我们需要更新frt(如果frt不是-1,即之前已经遍历过节点)的next指

针,使其跳过当前节点。A选项在更新pp的next指针后,立即更新了head,但是接下来错

误地更新了frt的next为p的next,而不是pp(因为刚刚某著名企业了pp)。B选项首先更新了frt的

next(如果frt不是-1),然后某著名企业到了下一个节点,之后正确地将pp的next指向head,并更新

了head。C选项先将head节点链接到p节点后,再某著名企业p指针,会重复遍历链表。D选项第

三行a[p][1]=a[frt][1]。这行代码实际上在尝试将当前节点p的next指针设置为frt的next,

但这并不是我们想要的操作。考点三队列1.(2024七彩联盟联考,11)有如下程序段:s=input()head=0;tail=0;ans=0;tmp=''q=['']*100flag=Trueforiinrange(len(s)):ifs[i]==',':whilehead!=tail:tmp+=q[head]head+=1ifflagandhead<tail:head+=1flag=notflagans+=int(tmp)tmp='';flag=Trueelif'0'<=s[i]<='9':q[tail]=s[i]tail+=1输入s为"1-500,2023900-,",执行该程序段,变量ans的值为

()A.100B.22300C.22351D.22400D解析

本题主要考查队列的操作。在for循环中,当s[i]的值为数字字符时,将s[i]放入队

列中;当s[i]为','时,将队列中的字符出队并连接。当flag为True时,字符出队但不连接到

tmp中(如字符'5'),其余字符忽略不处理。因此当输入的字符串为"1-500,2023900-,"时,

遇到第一个','字符,则ans加上100,然后对进入队列中的字符串"2023900"进行处理,得到

22300,故最后的结果为22300+100=22400。2.(2025届浙南名校联盟联考,12)有如下Python程序段:s=input()d=[-1]*10head=tail=0n=len(s)foriinrange(n):ifd[int(s[i])]<head:iftail-head==3:head+=1d[int(s[i])]=tailtail+=1若执行程序后,d的值为[-1,4,6,5,3,-1,-1,-1,-1,-1],则输入的s值可能是

()A."6954132"B."11114132"C."1324132"D."41341322"C解析

本题考查队列操作。在阅读理解代码的基础上,结合4个选项给出的数据,使用

排除法解题比较合适。本题是将tail指向的位置(下标)填入不同的位置(由字符串s给

出)。列表d有4个位置数据发生了变化,分别是1、2、3、4。选项A,给出的s有7个不同

的字符,不满足以上分析,错误;选项B,一开始下标1的位置赋值为0后,s开始连续出现多

个1,条件d[int(s[i])]<head,无法满足,tail也不会变化,故不可能出现6,错误;选项C,s开始的

1、3、2,将列表对应位置元素修改为0、1、2,接下来,tail-head==3条件满足,head增加1,

d[4]=3。再往后的每一步重复1、3、2,恰好每次都满足d[int(s[i])]<head,head、tail同步

增长,tail-head==3也一直满足,对应位置元素被修改为4、5、6,符合题意,故正确。选项

D,字符串4、1、3对应位置被修改为0、1、2,紧接着的4、1、3无法满足d[int(s[i])]<head,不会执行任何操作。tail的值也无法增长到6,故错误。3.(2024强基联盟联考,9)执行下列Python程序段,输出的结果为

()data=[1,2,3,1,2,3]que=[0]*10head=tail=0foriinrange(len(data)):ifdata[i]%2!=0:que[tail]=data[i]tail+=1eliftail-head>1:que[tail-1]+=que[head]head+=1print(que[head:tail])A.[3,2,1]B.[1,2,3]C.[1,3,1]D.[3,2,3]

答案

D解析

本题主要考查队列的相关知识。由if条件可知奇数元素入队,elif条件是遇到偶

数元素,且队列的长度大于1,将队首出队并累加到队尾。模拟过程为:队列=[1]→[1]→

[1,3]→[1,3,1]→[3,2]→[3,2,3]。4.(2024新阵地联盟第二次联考,11)有如下程序段:m=3;n=7head=tail=0;ans=0vis=[0]*10;q=[0]*10foriinrange(n):x=int(input())if(vis[x]=0):ans+=1if(tail-head>=m):vis[q[head]]=0head+=1q[tail]=xtail+=1vis[x]=1print(ans)运行该程序段,依次输入x的值:1,2,1,5,4,4,1。则程序运行完成后ans的值是

()A.3B.4C.5D.6C解析

本题主要考查队列相关知识。初始状态下,数组vis和数组q的初值全部为0,head

和tail的值均为0,当vis[x]==0时,计数器ans加1,同时将x入队,并将相应的vis[x]的值置为

1。当队列中的元素超过3个时,还必须将队首元素出队,且将对应的vis[q[head]]值置为

0,从输入的x值可知,能够触发计数器ans动作的x值有1、2、5、4,重复的x为两个1和一

个4,由于重复时vis[x]被重置为1,因此不能触发ans的动作,但是由于中间有一次q[head]

=1出队,因此最后的那个x=1也能让ans加1,故ans的终值是5。故选C。5.(2024天域全国名校协作体联考,12)已知列表a的长度为6,a[0]至a[5]的值依次为18,1

2,24,15,21,0,某程序如下所示:程序运行后,输出的结果是

()A.24B.12C.3D.0C解析

本题主要考查循环队列的操作。阅读程序段代码,分析可知将队列队首两个元

素进行比较,用大数除以小数;若不能整除,则将余数重新入队;队首元素出队后,重复上

述操作,直到队列中只剩一个元素为止。因此队列的变化是[18,12,24,15,21]→[24,15,2

1,6],x=12→[15,21,6],x=24→[21,6,9],x=15→[6,9,6],x=21→[9,6,3],x=6→[6,3,3],x=9→[3,

3,3],x=6→[3,3],x=3→[3]。6.(2025届强基联盟联考,11)某Python程序段如下:s="hAp#py"执行该程序段,输出的结果是

()A.['h','p','p','y']B.['p','p','y']

C.['p','y']

D.['y']C解析

本题考查队列的相关操作。这段Python程序的功能是从字符串s中提取所有的

小写字母,并将它们存储在一个队列que中,然后输出从队列的head到tail之间的元素。初始化字符串s=“hAp#py”。初始化一个长度为10的列表que,并用空字符串初始化每一

个元素。使用for循环遍历字符串s中的每一个字符。如果当前字符s[i]是一个小写字

母(ASCII值在‘a’和‘z’之间),则将它放入队列que的tail位置,并将tail向后某著名企业一位。如果

当前字符不是小写字母,则将head向后某著名企业一位。提取所有字符后que内字符为“hppy”,

head=2,故输出['p','y']。考点四栈1.(2025届浙南名校联盟联考,9)栈初始为空,经过一系列入栈、出栈操作后,栈又为空。

若元素入栈的顺序为“金”“木”“水”“火”“土”。在所有可能的出栈序列中,

“土”比“金”提前两步出栈的序列个数是

()A.3B.4C.5D.6C解析

本题主要考查栈的操作。满足“土”比“金”提前两步出栈的序列为以下5个:

木、水、土、火、金;木、火、土、水、金;水、木、土、火、金;水、火、土、木、

金;火、水、土、木、金。2.(2024百校起点调研测试,9)栈q初始有三个值,经过一系列入栈、出栈操作后,栈为空,

若元素出栈的顺序是1,2,3,4,5,6,7,则栈q初始的情况可能是

()A.[1,2,3]B.[7,5,6]C.[6,3,1]D.[4,7,2]C解析

本题主要考查栈的操作。栈是先进后出,栈顶的元素一定先出,出栈顺序为1,2,3,

4,5,6,7,则初始的情况一定是降序,故选C。3.(2024Z20联盟联考,9)若元素入栈的顺序是1,2,3,4,5,6,不允三次入栈,则可能的

出栈序列为

()A.2,3,5,1,6,4B.1,2,3,6,5,4C.2,4,3,1,6,5D.2,5,4,6,3,1C解析

本题主要考查栈的操作。选项A,数字5在数字1前出栈,数字4必然先入栈且在数

字1之上,故4要先出栈,1才能出栈。选项B,数字6先出栈,必然是4→5→6依次入栈,显然

是连续三次入栈,不符合题意。选项D,数字5要出栈,必然是3→4→5依次入栈,连续三次

入栈,不符合题意。4.(2024七彩联盟联考,9)假设栈S的最大长度为3,其初始状态和终止状态均为空,经过一

系列入栈和出栈的操作,若元素最后的出栈序列为F,E,D,C,B,A,则可能的入栈顺序为

()A.ABCDEFB.ACDFEBC.BEFACDD.BFDECAD解析

本题主要考查栈的基本操作。栈中最大长度为3。选项A需要的栈长度为6;选

项B需要的栈长度为4;选项C,出栈序列中DC均在BA之前,若要实现DC出栈,则接下来

出栈顺序为AB,无法实现。5.(2024嘉兴基测,12)待入栈的序列a有多种出栈序列,以下函数用于判断序列b是不是a

的出栈序列,代码如下:shuffle(b)#将序列b的元素随机排序ifjudge(a,b):print(b,'是',a,'的出栈序列')else:print(b,'不是',a,'的出栈序列')程序运行结果如图所示。划线处应填写的语句是

()AA.①st[top]=a[i]②st[top]==b[j]B.①st[top]=a[i]②st[-1]==b[j]C.①st[top]=b[i]②st[top]==a[j]D.①st[top]=b[i]②st[-1]==a[j]解析

本题主要考查栈的操作。根据judge函数代码可得,程序通过外循环遍历数组a

的每一个元素,并且将其添加到栈中,然后在内循环中,如果栈不是空且栈项元素等于数

组b的当前元素,则弹出栈顶元素并让数组b的指针后移一位。当外循环结束之后检测

栈是不是空。若是空(即top==-1)则返回True,否则返回False。6.(2025届新阵地教育联盟联考,9)某路段如图所示。依次有4辆车驶入,其中每辆车可

以向出口行驶,也可以进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论