試卷征集
加入會員
操作視頻
當(dāng)前位置: 試卷中心 > 試卷詳情

浙教版(2019)選修1《3.2 隊列-3.3 ?!?022年同步練習(xí)卷

發(fā)布:2024/4/20 14:35:0

一、選擇題

  • 1.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的說法,正確的是(  )
    組卷:18引用:3難度:0.5
  • 2.用python列表模擬隊列,并設(shè)置隊首指針head指向隊首元素,隊尾指針tail指向隊尾元素的下一個位置,則當(dāng)head=3,tail=6時,隊列中元素的個數(shù)為( ?。?/div>
    組卷:3引用:3難度:0.5
  • 3.用python列表模擬循環(huán)隊列,并設(shè)置隊首指針head指向隊首元素,隊尾指針指向隊尾元素的下一個位置,則當(dāng)列表長度n=10,head=6,tail=3時,隊列中元素的個數(shù)為( ?。?/div>
    組卷:3引用:3難度:0.3

二、非選擇題

  • 8.校學(xué)生會要從兩個候選人 A 和 B 中選舉一個會長,每個候選人都有自己的支持方。現(xiàn)在以一個基于輪為過程來進(jìn)行選舉,在每一輪選舉中,當(dāng)前成員可以禁止另一位成員的選舉權(quán),即讓另一位成員在這一輪和隨后的幾輪中都喪失選舉權(quán)。在選舉過程中一旦有選舉權(quán)的成員都來自同一個陣營,則該陣營勝利。
    字母 A 和 B 分別代表兩位候選人,輸入一個字符串代表每個成員的陣營,例如輸入“ABB”,則輸出結(jié)果為 B,即候選人 B 為會長。
    說明:第一輪中,第一個成員(A)可以讓第二個成員(B)失去選舉權(quán),第二個成員(B)會被跳過因為他的選舉權(quán)被禁止,第三個成員(B)可以讓第一個成員(A)失去選舉權(quán),因此在第二輪只剩下第三個成員(B)擁有選舉權(quán),則輸出結(jié)果為 B,即候選人 B 為會長。
    (1)若輸入“ABABB”,則會長為
     
    。
    (2)實現(xiàn)上述功能的 Python 程序如下,請在橫線處填入合適的代碼。
    s=input(“請輸入投票字符串:“)
    queA=[“”]*100;queB=[“”]*100
    headA=headB=0
    tailA=tailB=0
    n=len(s)
    for i in range(n):
    if ①
     

    queA[tailA]=i
    tailA+=1
    else:
    queB[tailB]=i
    tailB+=1
    while②
     

    if queA[headA]<queB[headB]:
    queA[tailA]=queA[headA]+n
    tailA+=1
    else:
    queB[tailB]=queB[headB]+n
    tailB+=1
    headA+=1;headB+=1
    if ③
     

    print(“B“)
    else:
    print(“A“)
    組卷:2引用:1難度:0.3
  • 9.小趙同學(xué)在某游戲平臺中獲得虛擬的食物、裝備、材料等物品,他們分別有不同的價值,現(xiàn)游戲平臺有兌換機制,即可用多個不同物品換取一個等值的物品(每個物品只能取一樣),如圖1為小趙同學(xué)已獲得的物品。
    菁優(yōu)網(wǎng)
    如要換取游戲中的物品“破天錘”,需要 35 個金幣,有多種的置換方式,為方便計算以節(jié)省時間,小趙同學(xué)編寫了如下程序,運行界面如圖2,運行代碼如下,請在橫線處填人合適的代碼。
    def exchange(t,pricelist):
    n=len(pricelist)
    stack=[]
    i=0
    num=0
    while①
     

    while t>0 and i<n:
    if t>=int(pricelist[i]):
    stack.append(i)
     

    i+=1
    if t==0:
    print(“取序號為“,stack,“的物品“)
    num+=1
    if③
     

    i=stack.pop
     

    t+=int(pricelist[i])
     

    if num==0:
    print(“無方案“)
    m=int(input(“目標(biāo)置換物品的價值:“))
    price=input(“已獲得物品價值依次是:“)
    p=price.split(“,“)#將輸入的內(nèi)容以“,”作分隔,并轉(zhuǎn)換為列表
    print(“依次拿取物品序號的方案有:“)
    exchange(m,p)
    組卷:1引用:1難度:0.3
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.4 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正