浙江省嘉兴市第五高级中学2021-2022学年高二下学期信息技术(选考)期中考试(加试)试卷
试卷更新日期:2022-06-13 类型:期中考试
一、选择题(本大题共5小题,每小题3分,共15分。)
-
1. 以下数据结构中不属于线性结构的是( )A、数组 B、链表 C、队列 D、树2. 有一入栈序列为“ABCD”,以下以“C”开头的出栈序列中不正确的是( )A、CABD B、CBAD C、CBDA D、CDBA3. 用Python程序段定义一个3行4列的二维数组(要求先将各元素的值初始化为0,再将第2行第2个元素重新赋值为1),以下程序段可行的是( )A、arr=[[0]*3 for j in range(4)]
arr[2][2]=1
B、arr=[[0]*4]*3 arr[1][1]=1 C、arr=[[0] for i in range(4)]for j in range(3)
arr[1][1]=1
D、arr=[[0,0,0,0] for j in range(3)]arr[2][2]=1
4. 以下Python表达式不能取出字符串s=“0086-0573-1180”中的子串“0573”的是( )A、s[s.find("-")+1:-5] B、s[6:6+len("0573")] C、s[-9:9:1] D、s[-6:-10:-1][::-1]5. 以下有关栈和队列的说法正确的是( )A、栈和队列都是先进后出 B、栈和队列都是先进先出 C、队列元素前面只有一个,后面有多个 D、栈和队列只允许在端点插入和删除数据二、非选择题(本大题共1小题,共15分)
-
6. 在 Python语言中,可以使用列表来模拟链表节点的插入操作。以下Python程序段用二维列表来定义单向链表。如要在该链表中插入节点,可以通过程序来修改相应节点的指针达到目的。(1)、如下图所示,请根据程序补充完整未插入数据前的链表数据区域的值(依次填写)、、、 , 此时链表的头指针的值是。(2)、实现链表插入的 Python 程序如下,请在程序划线处填入合适的代码。
data=[[8,-1],[7,4],[5,5],[6,0],[1,3],[2,1]] # 定义单向链表
head=2 leng=len(data)
pos=int(input("请输入要插入的位置(0~%d)之间:"%(leng)))
val=int(input("请输入要插入的数据值:"))
data.append([val,leng])
# 插入节点:
p=head
if pos== : # 加在链表最前面,作为首节点
data[leng][1]=p
head= # 更新头指针
else: q=data[p][1] c=0
while c<pos-1 and q!=-1:
p=q q=data[p][1]
c+=1
# 更新指针
data[p][1]=leng
#用列表形式来显示插入后的链表:
p=head s=[]
while p!=-1:
s.append()
p=data[p][1]
print(s)