數(shù)據(jù)結(jié)構(gòu)(棧和隊列)習(xí)題與答案_第1頁
數(shù)據(jù)結(jié)構(gòu)(棧和隊列)習(xí)題與答案_第2頁
數(shù)據(jù)結(jié)構(gòu)(棧和隊列)習(xí)題與答案_第3頁
數(shù)據(jù)結(jié)構(gòu)(棧和隊列)習(xí)題與答案_第4頁
數(shù)據(jù)結(jié)構(gòu)(棧和隊列)習(xí)題與答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一、單選題1、元素A、B、C、D依次進(jìn)棧后,棧頂元素是_______。A.BB.DC.CD.A正確答案:B2、經(jīng)過以下運算后,x的值是_______。InitStack(s);Push(s,a);Push(s,b);Pop(s,x);GetTop(s,x)A.0B.bC.aD.1正確答案:C3、經(jīng)過以下棧運算后,StackEmpty(s)的值是_______。InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,y)A.0B.bC.aD.1正確答案:D4、已知一個棧的進(jìn)棧序列是ABC,出棧序列為CBA,經(jīng)過棧的操作是_______。A.push,push,push,pop,pop,popB.push,pop,push,push,pop,popC.push,push,pop,pop,push,popD.push,pop,push,pop,push,pop正確答案:A5、若元素a、b、c、d、e、f依次進(jìn)棧,允許進(jìn)棧、退棧的操作交替進(jìn)行,但不允許連續(xù)3次退棧工作,則不可能得到的出棧序列是_______。A.bcaefdB.afedcbC.cbdaefD.dcebfa正確答案:B6、設(shè)一個棧的輸入序列為A、B、C、D,則借助一個棧所得的輸出序列不可能是_______。A.DCBAB.DABCC.ACDBD.ABCD正確答案:B7、一個棧的進(jìn)棧序列是abcde,則棧的不可能的輸出序列是_______。A.decbaB.abcdeC.dceabD.edcba正確答案:C8、已知一個棧的進(jìn)棧序列是1,2,3,…n,其輸出序列的第一個元素是i(1≤i≤n),則第j(1≤j≤n)個出棧元素是_______。A.n-iB.j-i+1C.iD.不確定正確答案:D9、已知一個棧的進(jìn)棧序列是1,2,3,…n,其輸出序列是p1,p2,…pn,若p1=n,則pi的值是_______。A.不確定B.n-i+1C.n-iD.i正確答案:B10、設(shè)n個元素的進(jìn)棧序列是p1,p2,…pn,其輸出序列是1,2,3,…n,若pn=1,則pi(1≤i≤n-1)的值是_______。A.不確定B.iC.n-iD.n-i+1正確答案:D11、設(shè)n個元素的進(jìn)棧序列是1,2,3,…n,其輸出序列是p1,p2,…pn,若p1=3,則p2的值是_______。A.一定是1B.以上都不對C.不可能是1D.一定是2正確答案:C12、設(shè)n個元素的進(jìn)棧序列是p1,p2,…pn,其輸出序列是1,2,3,…n,若p3=1,則p1的值是_______。A.不可能是2B.不可能是3C.一定是2D.可能是2正確答案:A13、設(shè)n個元素的進(jìn)棧序列是p1,p2,…pn,其輸出序列是1,2,3,…n,若p3=3,則p1的值是_______。A.可能是2B.不可能是1C.一定是1D.一定是2正確答案:A14、設(shè)有5個元素的進(jìn)棧序列是a,b,c,d,e,其輸出序列是c,e,d,b,a,則該棧的容量至少是_______。A.2B.4C.1D.3正確答案:B15、在數(shù)據(jù)處理過程中常需要保存一些中間數(shù)據(jù),如果后保存的數(shù)據(jù)先處理,則使用_______來保存這些數(shù)據(jù)。A.棧B.隊列C.線性表D.單鏈表正確答案:A16、判定一個順序棧st為(元素個數(shù)最多為MaxSize)空的條件為_______。A.st.top==MaxSizeB.st.top!=MaxSizeC.st.top!=-1D.st.top==-1正確答案:D17、判定一個順序棧st為(元素個數(shù)最多為MaxSize)為棧滿的條件為_______。A.st.top=-1B.st.top!=MaxSize-1C.st.top!==-1D.st.top==MaxSize-1正確答案:D18、表達(dá)式a*(b+c)-d的后綴表達(dá)式是_______。A.abcd*+-B.abc*+d-C.-+*abcdD.abc+*d-正確答案:D19、若一個棧用數(shù)組data[1..n]存儲,初始棧頂指針top為n+1,則以下元素x進(jìn)入棧的正確操作是_______。A.top--;data[top]=x;B.top++;data[top]=x;C.data[top]=x;top--;D.data[top]=x;top++;正確答案:A20、若一個棧用數(shù)組data[1..n]存儲,初始棧頂指針top為n,則以下元素x進(jìn)入棧的正確操作是_______。A.top--;data[top]=x;B.data[top]=x;top--;C.top++;data[top]=x;D.data[top]=x;top++;正確答案:B21、若一個棧用數(shù)組data[1..n]存儲,初始棧頂指針top為0,則以下元素x進(jìn)入棧的正確操作是_______。A.data[top]=x;top++;B.data[top]=x;top--;C.top--;data[top]=x;D.top++;data[top]=x;正確答案:D22、若一個棧用數(shù)組data[1..n]存儲,初始棧頂指針top為1,則以下元素x進(jìn)入棧的正確操作是_______。A.top--;data[top]=x;B.data[top]=x;top++;C.top++;data[top]=x;D.data[top]=x;top--;正確答案:B23、鏈棧與順序棧相比有一個明顯的優(yōu)點,即_______。A.總是不會出現(xiàn)??盏那闆rB.刪除操作更加方便C.通常不會出現(xiàn)棧滿的情況D.插入操作更方便正確答案:C24、以下各鏈表均不帶有頭節(jié)點,其中最不合適用作鏈棧的鏈表是_______。A.只有表頭指針沒有表尾指針的循環(huán)單鏈表B.只有表尾指針沒有表頭指針的循環(huán)雙鏈表C.只有表尾指針沒有表頭指針的循環(huán)單鏈表D.只有表頭指針沒有表尾指針的循環(huán)雙鏈表正確答案:A25、如果以鏈表作為棧的存儲結(jié)構(gòu),則退棧操作時_______。A.判斷鏈棧元素的類型B.對鏈棧不做任何判斷C.必須判斷鏈棧是否空D.必須判斷鏈棧是否為滿正確答案:C26、向一個不帶頭節(jié)點的棧頂指針為lst的鏈棧中插入一個s所指向節(jié)點時,則執(zhí)行_______。A.s->next=lst->next;lst->next=s;B.lst->next=s;C.s->next=lst;lst=s;D.s->next=lst;lst->next=s;正確答案:C27、從一個不帶頭節(jié)點的棧頂指針為lst的棧鏈中刪除一個節(jié)點時,用x保存被刪節(jié)點的值,則執(zhí)行_______。A.x=lst->data;lst=lst->next;B.x=lst;lst=lst->next;C.lst=lst->next;x=lst->data;D.x=lst->data正確答案:A28、棧和隊列的不同點是_______。A.都不是線性表B.沒有不同點C.都是線性表D.棧只能在一端進(jìn)行插入刪除操作,而隊列在不同端進(jìn)行插入刪除操作正確答案:D29、經(jīng)過下列運算后,隊頭的元素是_______。InitQueue(qu);Enqueue(qu,‘a(chǎn)’);EnQueue(qu,‘b’);EnQueue(qu,‘c’);DeQueue(qu);A.bB.aC.0D.1正確答案:A30、若某循環(huán)隊列有隊首指針front和隊尾指針rear,在隊不滿時進(jìn)隊操作僅會改變_______。A.frontB.rearC.以上都不對D.front和rear正確答案:B31、循環(huán)隊列qu的隊滿條件(front隊首指針指向隊首元素的前一位置,rear隊尾指針指向隊尾元素)是_______。A.(qu.rear+1)%maxsize==qu.front+1B.(qu.rear+1)%maxsize==qu.frontC.qu.rear==qu.frontD.(qu.rear+1)%maxsize==(qu.front+1)%maxsize正確答案:B32、設(shè)循環(huán)隊列中數(shù)組的下標(biāo)是0~N-1,其隊頭、隊尾指針分別為f和r(f指向隊首元素的前一位置,r指向隊尾元素),則元素個數(shù)為_______。A.r-fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N正確答案:D33、最適合用做鏈隊列的不帶表頭節(jié)點的鏈表是_______。A.帶首節(jié)點指針和尾節(jié)點指針的循環(huán)單鏈表B.只帶尾節(jié)點指針的非循環(huán)單鏈表C.只帶尾節(jié)點指針的循環(huán)單鏈表D.只帶首節(jié)點指針的非循環(huán)單鏈表正確答案:C34、假設(shè)用一個不帶表頭節(jié)點的單鏈表表示隊列,在進(jìn)行刪除操作時,_______。A.僅修改尾指針B.僅修改頭指針C.頭、尾指針可能都要修改D.頭、尾指針都要修改正確答案:C35、假設(shè)用一個不帶頭節(jié)點的單鏈表表示隊列,隊頭和隊尾指針分別為front和rear,則判斷隊空的條件是_______。A.front==NULLB.rear!==NULLC.front==rearD.front!==NULL正確答案:A36、最不合適用做鏈隊的不帶頭節(jié)點的鏈表是_______。A.只帶隊首節(jié)點指針的循環(huán)雙鏈表B.以上都不合適C.只帶隊首節(jié)點指針的非循環(huán)單鏈表D.只帶隊尾節(jié)點指針的循環(huán)雙鏈表正確答案:C37、假設(shè)用qu[0..M]實現(xiàn)循環(huán)隊列,f、r分別為隊首元素的前一個位置和隊尾位置。若用“(r+1)%(M+1)==f”作為隊滿的標(biāo)志,則_______。A.隊列中最多可以有M+1個元素B.可用“f==r”作為隊空的標(biāo)志C.可用“(f+1)%(M+1)==r”作為隊空的標(biāo)志D.可用“f>r”作為隊空的標(biāo)志正確答案:B38、若用一個大小為6的數(shù)組來實現(xiàn)循環(huán)隊列,且當(dāng)前rear和front的值分別是0和3,當(dāng)從隊列中刪除一個元素,再加入兩個元素后,rear和front的值分別是_______。A.4和2B.2和4C.1和5D.5和1正確答案:B二、判斷題1、棧底元素是不能刪除的元素。(×)2、順序棧中元素值的大小是有序的。(×)3、n個元素依次進(jìn)棧,它們的出棧順序和進(jìn)棧順序一定正好相反。(×)4、棧頂元素和棧底有可能是同一元素。(√)5、若用s[0..m-1]表示順序棧的存儲空間,則對棧的進(jìn)棧、出棧操作最多只能進(jìn)行m次;(×)6、棧是一種對進(jìn)棧、出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論