浙江省嘉兴市第五高级中学2021-2022学年高二下学期信息技术(选考)期中考试(加试)试卷

试卷更新日期:2022-06-13 类型:期中考试

一、选择题(本大题共5小题,每小题3分,共15分。)

  • 1. 以下数据结构中不属于线性结构的是(  )
    A、数组 B、链表 C、队列 D、
  • 2. 有一入栈序列为“ABCD”,以下以“C”开头的出栈序列中不正确的是(  )
    A、CABD B、CBAD C、CBDA D、CDBA
  • 3. 用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)