freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)練習(xí)題題庫(kù)(編輯修改稿)

2025-04-21 03:01 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 鏈隊(duì)列模擬便道。從終端讀入汽車(chē)到達(dá)或離去的數(shù)據(jù),每組數(shù)據(jù)包括三項(xiàng):①是“到達(dá)”還是“離去”;②汽車(chē)牌照號(hào)碼;③“到達(dá)”或“離去”的時(shí)刻。與每組輸入信息相應(yīng)的輸出信息為:如果是到達(dá)的車(chē)輛,則輸出其在停車(chē)場(chǎng)中或便道上的位置;如果是離去的車(chē)輛,則輸出其在停車(chē)場(chǎng)中停留的時(shí)間和應(yīng)交的費(fèi)用。(提示:需另設(shè)一個(gè)棧,臨時(shí)停放為讓路而從車(chē)場(chǎng)退出的車(chē)。)3. 商品貨架管理。商品貨架可以看成一個(gè)棧,棧頂商品的生產(chǎn)日期最早,棧底商品的生產(chǎn)日期最近。上貨時(shí),需要倒貨架,以保證生產(chǎn)日期較近的商品在較下的位置。用隊(duì)列和棧作為周轉(zhuǎn),實(shí)現(xiàn)上述管理過(guò)程。第三章答案(b)所示鐵道(兩側(cè)鐵道均為單向行駛道)進(jìn)行車(chē)廂調(diào)度,回答:(1) 如進(jìn)站的車(chē)廂序列為123,則可能得到的出站車(chē)廂序列是什么?(2) 如進(jìn)站的車(chē)廂序列為123456,能否得到435612和135426的出站序列,并說(shuō)明原因(即寫(xiě)出以“S”表示進(jìn)棧、“X”表示出棧的棧序列操作)。【解答】(1)可能得到的出站車(chē)廂序列是:12132123321。(2)不能得到435612的出站序列。因?yàn)橛蠸(1)S(2)S(3)S(4)X(4)X(3)S(5)X(5)S(6)S(6),此時(shí)按照“后進(jìn)先出”的原則,出棧的順序必須為X(2)X(1)。能得到135426的出站序列。因?yàn)橛蠸(1)X(1)S(2)S(3)X(3)S(4)S(5)X(5)X(4)X(2)X(1)。,在這兩種棧的存儲(chǔ)結(jié)構(gòu)中如何判別??张c棧滿(mǎn)?【解答】(1)順序棧 (top用來(lái)存放棧頂元素的下標(biāo))判斷棧S空:如果Stop==1表示???。判斷棧S滿(mǎn):如果Stop==Stack_Size1表示棧滿(mǎn)。(2) 鏈棧(top為棧頂指針,指向當(dāng)前棧頂元素前面的頭結(jié)點(diǎn))判斷??眨喝绻鹴opnext==NULL表示棧空。判斷棧滿(mǎn):當(dāng)系統(tǒng)沒(méi)有可用空間時(shí),申請(qǐng)不到空間存放要進(jìn)棧的元素,此時(shí)棧滿(mǎn)。 3. 4照四則運(yùn)算加、減、乘、除和冪運(yùn)算的優(yōu)先慣例,畫(huà)出對(duì)下列表達(dá)式求值時(shí)操作數(shù)棧和運(yùn)算符棧的變化過(guò)程:AB*C/D+E↑F【解答】3. 5寫(xiě)一個(gè)算法,判斷依次讀入的一個(gè)以@為結(jié)束符的字母序列,是否形如‘序列1amp。序列2’的字符序列。序列1和序列2中都不含‘a(chǎn)mp?!?,且序列2是序列1 的逆序列。例如,’a+bamp。b+a’是屬于該模式的字符序列,而’1+3amp。31’則不是?!窘獯稹克惴ㄈ缦拢? int IsHuiWen() { Stack *S。 Char ch,temp。 InitStack(amp。S)。 Printf(“\n請(qǐng)輸入字符序列:”)。 Ch=getchar()。While( ch!=amp。) /*序列1入棧*/{ Push(amp。S,ch)。 ch=getchar()。}do /*判斷序列2是否是序列1的逆序列*/{ ch=getchar()。 Pop(amp。S,amp。temp)。 if(ch!= temp) /*序列2不是序列1的逆序列*/{ return(FALSE)。 printf(“\nNO”)。} } while(ch!=@ amp。amp。 !IsEmpty(amp。S))if(ch = = @ amp。amp。 IsEmpty(amp。S)) { return(TRUE)。 printf(“\nYES”)。} /*序列2是序列1的逆序列*/else {return(FALSE)。 printf(“\nNO”)。} }/*IsHuiWen()*/ 要求循環(huán)隊(duì)列不損失一個(gè)空間全部都能得到利用,設(shè)置一個(gè)標(biāo)志tag,以tag為0或1來(lái)區(qū)分頭尾指針相同時(shí)的隊(duì)列狀態(tài)的空與滿(mǎn),請(qǐng)編寫(xiě)與此相應(yīng)的入隊(duì)與出隊(duì)算法。【解答】入隊(duì)算法:int EnterQueue(SeqQueue *Q, QueueElementType x){ /*將元素x入隊(duì)*/ if(Qfront==Qfront amp。amp。 tag==1) /*隊(duì)滿(mǎn)*/ return(FALSE)。 if(Qfront==Qfront amp。amp。 tag==0) /*x入隊(duì)前隊(duì)空,x入隊(duì)后重新設(shè)置標(biāo)志*/ tag=1。Qelememt[Qrear]=x。Qrear=(Qrear+1)%MAXSIZE。 /*設(shè)置隊(duì)尾指針*/Return(TRUE)。 }出隊(duì)算法: int DeleteQueue( SeqQueue *Q , QueueElementType *x) { /*刪除隊(duì)頭元素,用x返回其值*/if(Qfront==Qrear amp。amp。 tag==0) /*隊(duì)空*/ return(FALSE)。*x=Qelement[Qfront]。Qfront=(Qfront+1)%MAXSIZE。 /*重新設(shè)置隊(duì)頭指針*/if(Qfront==Qrear) tag=0。 /*隊(duì)頭元素出隊(duì)后隊(duì)列為空,重新設(shè)置標(biāo)志域*/Return(TUUE)。 } 編寫(xiě)求解Hanoi問(wèn)題的算法,并給出三個(gè)盤(pán)子搬動(dòng)時(shí)的遞歸調(diào)用過(guò)程?!窘獯稹克惴ǎ? void hanoi (int n ,char x, char y, char z) { /*將塔座X上按直徑由小到大且至上而下編號(hào)為1到n的n個(gè)圓盤(pán)按規(guī)則搬到塔座Z上,Y可用做輔助塔座*/ if(n = =1) move(x,1,z)。 else { Hanoi(n1,x,z,y)。 move(x, n, z)。 Hanoi(n1, y,x,z)。 }}Hanoi(3,A,B,C)的遞歸調(diào)用過(guò)程: Hanoi(2,A,C,B): Hanoi(1,A,B,C) move(AC) 1號(hào)搬到C Move(AB) 2號(hào)搬到B Hanoi(1,C,A,B) move(CB) 1號(hào)搬到B Move(AC) 3號(hào)搬到CHanoi(2,B,A,C) Hanoi(1,B,C,A) move(BA) 1號(hào)搬到A Move(BC) 2號(hào)搬到C Hanoi(1,A,B,C) move(AC) 1號(hào)搬到C第3章 限定性線(xiàn)性表 — 棧和隊(duì)列習(xí)題1. (b)所示鐵道(兩側(cè)鐵道均為單向行駛道)進(jìn)行車(chē)廂調(diào)度,回答: ⑴ 如進(jìn)站的車(chē)廂序列為123,則可能得到的出站車(chē)廂序列是什么? 12211323321(312)⑵如進(jìn)站的車(chē)廂序列為123456,能否得到435612和135426的出站序列,并說(shuō)明原因。(即寫(xiě)出以“S”表示進(jìn)棧、以“X”表示出棧的棧操作序列)。SXSS XSSX XXSX 或 S1X1S2S3X3S4S5X5X4X2S6X62. 設(shè)隊(duì)列中有A、B、C、D、E這5個(gè)元素,其中隊(duì)首元素為A。如果對(duì)這個(gè)隊(duì)列重復(fù)執(zhí)行下列4步操作:(1) 輸出隊(duì)首元素;(2) 把隊(duì)首元素值插入到隊(duì)尾;(3) 刪除隊(duì)首元素;(4) 再次刪除隊(duì)首元素。直到隊(duì)列成為空隊(duì)列為止,則是否可能得到輸出序列:(1) A、C、E、C、C (2) A、C、E(3) A、C、E、C、C、C (4) A、C、E、C[提示]: A、B、C、D、E (輸出隊(duì)首元素A) A、B、C、D、E、A (把隊(duì)首元素A插入到隊(duì)尾) B、C、D、E、A (刪除隊(duì)首元素A) C、D、E、A (再次刪除隊(duì)首元素B) C、D、E、A (輸出隊(duì)首元素C) C、D、E、A、C (把隊(duì)首元素C插入到隊(duì)尾) D、E、A、C (刪除隊(duì)首元素C) E、A、C (再次刪除隊(duì)首元素D)3. 給出棧的兩種存儲(chǔ)結(jié)構(gòu)形式名稱(chēng),在這兩種棧的存儲(chǔ)結(jié)構(gòu)中如何判別棧空與棧滿(mǎn)?4. 按照四則運(yùn)算加、減、乘、除和冪運(yùn)算(↑)優(yōu)先關(guān)系的慣例,畫(huà)出對(duì)下列算術(shù)表達(dá)式求值時(shí)操作數(shù)棧和運(yùn)算符棧的變化過(guò)程: A-B*C/D+E↑F5. 試寫(xiě)一個(gè)算法,判斷依次讀入的一個(gè)以@為結(jié)束符的字母序列,是否為形如‘序列1 amp。 序列2’模式的字符序列。其中序列1和序列2 中都不含字符’amp?!倚蛄? 是序列1的逆序列。例如,‘a(chǎn)+bamp。b+a’是屬該模式的字符序列,而‘1+3amp。3-1’則不是。[提示]:(1) 邊讀邊入棧,直到amp。(2) 邊讀邊出棧邊比較,直到……6. 假設(shè)表達(dá)式由單字母變量和雙目四則運(yùn)算算符構(gòu)成。試寫(xiě)一個(gè)算法,將一個(gè)通常書(shū)寫(xiě)形式(中綴)且書(shū)寫(xiě)正確的表達(dá)式轉(zhuǎn)換為逆波蘭式(后綴)。[提示]:例:中綴表達(dá)式:a+b 后綴表達(dá)式: ab+中綴表達(dá)式:a+bc 后綴表達(dá)式: abc+中綴表達(dá)式:a+bcd 后綴表達(dá)式: abc+d中綴表達(dá)式:a+bcd/e 后綴表達(dá)式: abc+de/中綴表達(dá)式:a+b(cd)e/f 后綴表達(dá)式: abcd+ef/ 后綴表達(dá)式的計(jì)算過(guò)程:(簡(jiǎn)便)順序掃描表達(dá)式,(1) 如果是操作數(shù),直接入棧;(2) 如果是操作符op,則連續(xù)退棧兩次,得操作數(shù)X, Y,計(jì)算X op Y,并將結(jié)果入棧。 如何將中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式?順序掃描中綴表達(dá)式,(1)如果是操作數(shù),直接輸出;(2)如果是操作符op2,則與棧頂操作符op1比較:如果op2 op1,則op2入棧;如果op2 = op1,則脫括號(hào);如果op2 op1,則輸出op1;7. 假設(shè)以帶頭結(jié)點(diǎn)的循環(huán)鏈表表示隊(duì)列,并且只設(shè)一個(gè)指針指向隊(duì)尾元素結(jié)點(diǎn)(注意不設(shè)頭指針),試編寫(xiě)相應(yīng)的隊(duì)列初始化、入隊(duì)列和出隊(duì)列的算法。[提示]: 先畫(huà)圖.typedef LinkList CLQueue。int InitQueue(CLQueue * Q)int EnterQueue(CLQueue Q, QueueElementType x)int DeleteQueue(CLQueue Q, QueueElementType *x)8. 要求循環(huán)隊(duì)列不損失一個(gè)空間全部都能得到利用, 設(shè)置一個(gè)標(biāo)志域tag , 以tag為0或1來(lái)區(qū)分頭尾指針相同時(shí)的隊(duì)列狀態(tài)的空與滿(mǎn),請(qǐng)編寫(xiě)與此結(jié)構(gòu)相應(yīng)的入隊(duì)與出隊(duì)算法。[提示]: 初始狀態(tài):front==0, rear==0, tag==0 隊(duì)空條件:front==rear, tag==0 隊(duì)滿(mǎn)條件:front==rear, tag==1 其它狀態(tài):front !=rear, tag==0(或2) 入隊(duì)操作:……(入隊(duì))if (front==rear) tag=1;(或直接tag=1)出隊(duì)操作:……(出隊(duì))tag=0;[問(wèn)題]:如何明確區(qū)分隊(duì)空、隊(duì)滿(mǎn)、非空非滿(mǎn)三種情況?9. 簡(jiǎn)述以下算法的功能(其中棧和隊(duì)列的元素類(lèi)型均為int):(1)void proc_1(Stack S){ int i, n, A[255]。 n=0。 while(!EmptyStack(S)) {n++。 Pop(amp。S, amp。A[n])。} for(i=1。 i=n。 i++) Push(amp。S, A[i])。 }將棧S逆序。(2)void proc_2(Stack S, int e){ Stack T。 int d。InitStack(amp。T)。 while(!EmptyStack(S)) { Pop(amp。S, amp。d)。 if (d!=e) Push( amp。T, d)。 } while(!EmptyStack(T)) { Pop(amp。T, amp。d)。 Push( amp。S, d)。 }}刪除棧S中所有等于e的元素。(3)void proc_3(Queue *Q){ Stack S。 int d。InitStack(amp。S)。 while(!EmptyQueue(*Q)) {DeleteQueue(Q, amp。d)。Push( amp。S, d)。 } while(!EmptyStack(S)) { Pop(amp。S, amp。d)。 EnterQueue(Q,d) } }將隊(duì)列Q逆序。實(shí)習(xí)題1. 回文判斷。稱(chēng)正讀與反讀都相同的字符序列為“回文”序列。試寫(xiě)一個(gè)算法,判斷依次讀入的一個(gè)以@為結(jié)束符的字母序列,是否為形如‘序列1 amp。序列2’模式的字符序列。其中序列1和序列2 中都不含字符‘a(chǎn)mp?!倚蛄? 是序列1的逆序列。例如,‘a(chǎn)+bamp。b+a’是屬該模式的字符序列,而‘1+3amp。3-1’則不是。2. 停車(chē)場(chǎng)管理。設(shè)停車(chē)場(chǎng)是一個(gè)可停放n輛車(chē)的狹長(zhǎng)通道,且只有一個(gè)大門(mén)可供汽車(chē)進(jìn)出。在停車(chē)場(chǎng)內(nèi),汽車(chē)按到達(dá)的先后次序,由北向南依次排列(假設(shè)大門(mén)在最南端)。若車(chē)場(chǎng)內(nèi)已停滿(mǎn)n輛車(chē),則后來(lái)的汽車(chē)需在門(mén)外的便道上等候,當(dāng)有車(chē)開(kāi)走時(shí),便道上的第一輛車(chē)即可開(kāi)入。當(dāng)停車(chē)場(chǎng)內(nèi)某輛車(chē)要離開(kāi)時(shí),在它之后進(jìn)入的車(chē)輛必須先退出車(chē)場(chǎng)為它讓路,待該輛車(chē)開(kāi)出大門(mén)后,其它車(chē)輛再按原次序返回車(chē)場(chǎng)。每輛車(chē)離開(kāi)停車(chē)場(chǎng)時(shí),應(yīng)按其停留時(shí)間的長(zhǎng)短交費(fèi)(在便道上停留的時(shí)間不收費(fèi))。試編寫(xiě)程序,模擬上述管理過(guò)程。要求以順序棧模擬停車(chē)場(chǎng),以鏈隊(duì)列模擬便道。從終端讀入汽車(chē)到達(dá)或離去的數(shù)據(jù),每組數(shù)據(jù)包括三項(xiàng):①是“到達(dá)”還是“離去”;②汽車(chē)牌照號(hào)碼;③“到達(dá)”或“離去”的時(shí)刻。與每組輸入信息相應(yīng)的輸出信息為:如果是到達(dá)的車(chē)輛,則輸出其在停車(chē)場(chǎng)中或便道上的位置;如果是離去的車(chē)輛,則輸出其在停車(chē)場(chǎng)中停留的時(shí)間和應(yīng)交的費(fèi)用。(提示:需另設(shè)一個(gè)棧,臨時(shí)停放為讓路而從車(chē)場(chǎng)退出的車(chē)。)車(chē)庫(kù)便道暫時(shí)退車(chē)道3. 商品貨架管理。商品貨架可以看成一個(gè)棧,棧頂商品的生產(chǎn)日期最早,棧底商品的生產(chǎn)日期最近。上貨時(shí),需要倒貨架,以保證生產(chǎn)日期較近的商品在較下的位置。用隊(duì)列和棧作為周轉(zhuǎn),實(shí)現(xiàn)上述管理過(guò)程。第四章習(xí)題1. 設(shè)s=’I AM A STUDENT’, t=’GOOD’, q=’WORKER’。給出下列操作的結(jié)果:StrLength(s)。 SubString(sub1,s,1,7)。 SubString(sub2,s,7,1)。StrIndex(s,’A’,4)。 StrReplace(s,’STUDENT’,q)。 StrCat(StrCat(sub1,t), StrCat(sub2,q))。2. 編寫(xiě)算法,實(shí)現(xiàn)串的基本操作StrReplace(S,T,V)。3. 假設(shè)以塊鏈結(jié)構(gòu)表
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1