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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)(c語言版)(第2版)課后習(xí)題答案-預(yù)覽頁

2025-07-13 23:37 上一頁面

下一頁面
 

【正文】 amp。pa=panext。} else if(padatapbdata) {u=pa。 pb=pbnext。 delete u。}∥釋放結(jié)點(diǎn)空間pcnext=null。請?jiān)O(shè)計(jì)算法求出兩個集合A和B 的差集(即僅由在A中出現(xiàn)而不在B中出現(xiàn)的元素所構(gòu)成的集合),并以同樣的形式存儲,同時返回該集合的元素個數(shù)。[算法描述]void Difference(LinkListamp。 ∥pa和pb分別是鏈表La和Lb的工作指針,初始化為相應(yīng)鏈表的第一個結(jié)點(diǎn) pre=La。pa=panext。 ∥處理A,B中元素值相同的結(jié)點(diǎn),應(yīng)刪除 u=pa。[題目分析]B表的頭結(jié)點(diǎn)使用原來A表的頭結(jié)點(diǎn),為C表新申請一個頭結(jié)點(diǎn)。 ∥B表初始化 C=new LNode。 ∥暫存p的后繼 if(pdata0) {pnext=Bnext。 }∥將大于等于0的結(jié)點(diǎn)鏈入C表,前插法 p=r。[算法描述]ElemType Max (LinkList L ){ if(Lnext==NULL) return NULL。//如果p的值大于pmax的值,則重新賦值 p=pnext。[算法描述]void inverse(LinkList amp。 // q指向*p的后繼 pnext=Lnext。[題目分析]分別查找第一個值mink的結(jié)點(diǎn)和第一個值 ≥maxk的結(jié)點(diǎn),再修改指針,刪除值大于mink且小于maxk的所有元素。amp。amp。 // 修改指針 while (q!=p) { s=qnext。[題目分析]知道雙向循環(huán)鏈表中的一個結(jié)點(diǎn),與前驅(qū)交換涉及到四個結(jié)點(diǎn)(p結(jié)點(diǎn),前驅(qū)結(jié)點(diǎn),前驅(qū)的前驅(qū)結(jié)點(diǎn),后繼結(jié)點(diǎn))六條鏈。 qllink=p; ∥p與其前驅(qū)交換 prlinkllink=q; ∥p的后繼的前驅(qū)指向原p的前驅(qū) prlink=q; ∥p的后繼指向其原來的前驅(qū)}∥算法exchange結(jié)束。因此可以考慮設(shè)頭尾兩個指針(i=1,j=n),從兩端向中間移動,凡遇到值item的數(shù)據(jù)元素時,直接將右端元素左移至值為item的數(shù)據(jù)元素位置。amp。 A[j]==item)j;∥若右端元素為item,指針左移 if(ij)A[i++]=A[j];} 第3章 棧和隊(duì)列1.選擇題(1)若讓元素1,2,3,4,5依次進(jìn)棧,則出棧次序不可能出現(xiàn)在( )種情況。(3)數(shù)組Q[n]用來表示一個循環(huán)隊(duì)列,f為當(dāng)前隊(duì)列頭元素的前一位置,r?yàn)殛?duì)尾元素的位置,假定隊(duì)列中元素的個數(shù)小于n,計(jì)算隊(duì)列中元素個數(shù)的公式為( )。top=toplink; B.top=toplink。 }則計(jì)算fact(n)需要調(diào)用該函數(shù)的次數(shù)為( )。 B.設(shè)n=0,易知僅調(diào)用一次fact(n)函數(shù),故選A。(7)為解決計(jì)算機(jī)主機(jī)與打印機(jī)間速度不匹配問題,通常設(shè)一個打印數(shù)據(jù)緩沖區(qū)。(8)設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素eeeee5和e6依次進(jìn)入棧S,一個元素出棧后即進(jìn)入Q,若6個元素出隊(duì)的序列是eeeee5和e1,則棧S的容量至少應(yīng)該是( )。 V[top]=x。 V[top]=x。(10)設(shè)計(jì)一個判別表達(dá)式中左,右括號是否配對出現(xiàn)的算法,采用(?。?shù)據(jù)結(jié)構(gòu)最佳。(12)循環(huán)隊(duì)列存儲在數(shù)組A[0..m]中,則入隊(duì)時的操作為(?。?。(14)棧和隊(duì)列的共同點(diǎn)是(?。?。當(dāng)?shù)?號棧的棧頂指針top[0]等于1時該棧為空,當(dāng)?shù)?號棧的棧頂指針top[1]等于m時該棧為空。 //棧頂和棧底指針 SElemType *V。兩棧頂相向、迎面增長,棧頂指針指向棧頂元素。{[0]=1。,intexit(0)。{casei)∥退棧。switch(i){casecasereturn(1)。判斷??読ntamp。左棧是通常意義下的棧,而右棧入棧操作時,其棧頂指針左移(減1),退棧時,棧頂指針右移(加1)。[題目分析]將字符串前一半入棧,然后,棧中元素和字符串后一半進(jìn)行比較。//假定棧元素的數(shù)據(jù)類型為字符typedef struct{DataType data[StackSize]。int i , len。len=strlen(t)。s, t[i])。if( temp!=S[i])return 1 。{int top=0。 i++) //n個整數(shù)序列作處理。 {if(top==maxsize1){cout“棧滿”endl。} else //讀入的整數(shù)等于1時退棧。} }}//算法結(jié)束。[題目分析]逆波蘭表達(dá)式(即后綴表達(dá)式)求值規(guī)則如下:設(shè)立運(yùn)算數(shù)棧OPND,對表達(dá)式從左到右掃描(讀入),當(dāng)表達(dá)式中掃描到數(shù)時,壓入OPND棧。{float OPND[30]。float num=。while(x!=’$’) {switch {case‘0’=x=’9’:while((x=’0’amp。}else //處理小數(shù)部分。amp。 }}//elsepush(OPND,num)。 case x=‘+’:push(OPND,pop(OPND)+pop(OPND))。push(OPND,x2x1)。 case x=‘/’:x1=pop(OPND)。 default: //其它符號不作處理。}//算法結(jié)束。這種字符的序號減去字符‘0’的序號得出數(shù)。在拼數(shù)過程中,若遇非數(shù)字字符,表示數(shù)已拼完,將數(shù)壓入棧中,并且將變量num恢復(fù)為0,準(zhǔn)備下一個數(shù)。①下面所示的序列中哪些是合法的? A. IOIIOIOO B. IOOIOIIO C. IIIOIOIO D. IIIOOIOO②通過對①的分析,寫出一個算法,判定所給的操作序列是否合法。int Judge(char A[]) //判斷字符數(shù)組A中的輸入輸出序列是否是合法序列。 j=k=0。 break。} }i++。} }//算法結(jié)束。[題目分析]置空隊(duì)就是建立一個頭節(jié)點(diǎn),并把頭尾指針都指向頭節(jié)點(diǎn),頭節(jié)點(diǎn)是不存放數(shù)據(jù)的;判隊(duì)空就是當(dāng)頭指針等于尾指針時,隊(duì)空;入隊(duì)時,將新的節(jié)點(diǎn)插入到鏈隊(duì)列的尾部,同時將尾指針指向這個節(jié)點(diǎn);出隊(duì)時,刪除的是隊(duì)頭節(jié)點(diǎn),要注意隊(duì)列的長度大于1還是等于1的情況,這個時候要注意尾指針的修改,如果等于1,則要刪除尾指針指向的節(jié)點(diǎn)。 //以上是結(jié)點(diǎn)類型的定義typedef struct{queuenode *rear。//將隊(duì)尾指針指向頭結(jié)點(diǎn)while (Qrear!=Qrearnext)//當(dāng)隊(duì)列非空,將隊(duì)中元素逐個出隊(duì){s=Qrearnext。int EmptyQueue( LinkQueue *Q){ //判隊(duì)空。//申請新結(jié)點(diǎn)pdata=x。Qrear=p。p=Qrearnextnext。}else}(7)假設(shè)以數(shù)組Q[m]存放循環(huán)隊(duì)列中的元素, 同時設(shè)置一個標(biāo)志tag,以tag == 0和tag == 1來區(qū)別在隊(duì)頭指針(front)和隊(duì)尾指針(rear)相等時,隊(duì)列狀態(tài)為“空”還是“滿”。return (==)) cout隊(duì)列已滿endl。if(==0) =1。 exit(0)。[題目分析] 用一維數(shù)組 v[0..M1]實(shí)現(xiàn)循環(huán)隊(duì)列,其中M是隊(duì)列長度。[算法描述]①define M 隊(duì)列可能達(dá)到的最大長度typedef struct{elemtp data[M]。{if (==) { cout隊(duì)列空endl。return([(+1+M)%M])。 exit(0)。}// 結(jié)束從隊(duì)頭插入算法。 else if(m!=0amp。 }//算法結(jié)束① Ack(2,1)的計(jì)算過程Ack(2,1)= Ack(1,Ack(2,0)) //因m0,n0而得 = Ack(1,Ack(1,1)) //因m0,n=0而得 = Ack(1,Ack(0,Ack(1,0))) // 因m0,n0而得 = Ack(1,Ack(0,Ack(0,1))) // 因m0,n=0而得 = Ack(1,Ack(0,2)) // 因m=0而得 = Ack(1,3) // 因m=0而得 = Ack(0,Ack(1,2)) //因m0,n0而得 = Ack(0,Ack(0,Ack(1,1))) //因m0,n0而得 = Ack(0,Ack(0,Ack(0,Ack(1,0)))) //因m0,n0而得 = Ack(0,Ack(0,Ack(0,Ack(0,1)))) //因m0,n=0而得 = Ack(0,Ack(0,Ack(0,2))) //因m=0而得 = Ack(0,Ack(0,3)) //因m=0而得 = Ack(0,4) //因n=0而得 =5 //因n=0而得②int Ackerman(int m, int n){int akm[M][N]。j++) akm[0][j]=j+1。for(j=1。}//算法結(jié)束(10)已知f為單鏈表的表頭指針, 鏈表中存儲的都是整型數(shù)據(jù),試寫出實(shí)現(xiàn)下列運(yùn)算的遞歸算法: ① 求鏈表中的最大整數(shù);② 求鏈表的結(jié)點(diǎn)個數(shù);③ 求所有整數(shù)的平均值。 }}②int GetLength(LinkList p){ if(!pnext) return 1。 return (ave*(n1)+pdata)/n。A.012345678999 B.012121111212 C.011234223456 D.0123012322345答案:C(4)串“ababaabab”的nextval為( )。A.808 B.818 C.1010 D.1020答案:B解釋:以行序?yàn)橹?,則LOC[5,5]=[(51)*100+(51)]*2+10=818。A.13 B.32 C.33 D.40答案:C(9)若對n階對稱矩陣A以行序?yàn)橹餍蚍绞綄⑵湎氯切蔚脑?包括主對角線上所有元素)依次存放于一維數(shù)組B[1..(n(n+1))/2]中,則在B中確定aij(ij)的位置k的關(guān)系為( )。A.A[8,5] B.A[3,10] C. A[5,8] D.A[0,9]答案:B解釋:設(shè)數(shù)組從內(nèi)存首地址M開始順序存放,若數(shù)組按行先存儲,元素A[8,5]的起始地址為:M+[(80)*10+(51)]*1=M+84;若數(shù)組按列先存儲,易計(jì)算出元素A[3,10]的起始地址為:M+[(101)*9+(30)]*1=M+84。取i=j=1,易知A[1,1]的的下標(biāo)為1,四個選項(xiàng)中僅有A選項(xiàng)能確定的值為1,故選A。A.(g) B.(d) C.c D.d答案:D解釋:Tail(A)=(b,(c,d),(e,(f,g)));Tail(Tail(A))=( (c,d),(e,(f,g))); Head(Tail(Tail(A)))= (c,d);Tail(Head(Tail(Tail(A))))=(d);Head(Tail(Head(Tail(Tail(A)))))=d。A.1和1 B.1和3 C.1和2 D.2和3 答案:C解釋:廣義表的深度是指廣義表中展開后所含括號的層數(shù),廣義表的長度是指廣義表中所含元素的個數(shù)。答案:① p的nextval函數(shù)值為0110132。(1)242 (2)22 (3)s+182 (4)s+142(4)請將香蕉banana用工具 H( )—Head( ),T( )—Tail( )從L中取出。遇其它符號不作處理,直至輸入字符串結(jié)束。num[i]++;} // 數(shù)字字符   else if(‘A’=ch=‘Z’){i=ch65+10。[題目分析]實(shí)現(xiàn)字符串的逆置并不難,但本題“要求不另設(shè)串存儲空間”來實(shí)現(xiàn)字符串逆序存儲,即第一個輸入的字符最后存儲,最后輸入的字符先存儲,使用遞歸可容易做到。//需要使用靜態(tài)變量cinch。.39。\039。(說明:不得使用任何庫函數(shù))[題目分析]本題是字符串的插入問題,要求在字符串s的pos位置,插入字符串t。{int i=1,x=0。}while(*p!=’\0’amp。} //查pos位置 //若pos小于串s長度,則查到pos位置時,i=pos。exit(0)。 i++。) {q++。 for(j=i。}//串s的pos后的子串右移,空出串t的位置。j++) *p=*q。(4)已知字符串S1中存放一段英文,寫出算法
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1