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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)c語(yǔ)言版題集答案打印版-在線瀏覽

2025-03-03 19:56本頁(yè)面
  

【正文】 意選擇你認(rèn)為較好的出錯(cuò)處理方法。int main(){ int i,k。 coutEnter k:。 if(kArrSize1) exit(0)。i=k。 else{ if(2*i*a[i1]MAXINT) exit(0)。 } } for(i=0。i++){ if(a[i]MAXINT) exit(0)。 } return 0。注意選擇你認(rèn)為較好的輸入和輸出方法。解:includeincludedefine N 10double polynomail(int a[],int i,double x,int n)。 int n,i。 cout輸入變量的值x:。 cout輸入多項(xiàng)式的階次n:。 if(nN1) exit(0)。 for(i=0。i++) cina[i]。 return 0。 else return a[n]。第2章 線性表 描述以下三個(gè)概念的區(qū)別:頭指針,頭結(jié)點(diǎn),首元結(jié)點(diǎn)(第一個(gè)元素結(jié)點(diǎn))。首元結(jié)點(diǎn)是指鏈表中存儲(chǔ)第一個(gè)數(shù)據(jù)元素的結(jié)點(diǎn)。它可以對(duì)空表、非空表以及首元結(jié)點(diǎn)的操作進(jìn)行統(tǒng)一處理。解:(1) 在順序表中插入或刪除一個(gè)元素,需要平均移動(dòng)表中一半元素,具體移動(dòng)的元素個(gè)數(shù)與元素在表中的位置有關(guān)。單鏈表中邏輯上相鄰的元素的物理位置不一定緊鄰。 (4) 在單鏈表中設(shè)置頭結(jié)點(diǎn)的作用是插入和刪除首元結(jié)點(diǎn)時(shí)不用進(jìn)行特殊處理。 對(duì)以下單鏈表分別執(zhí)行下列各程序段,并畫出結(jié)果示意圖。 L=(LinkList)malloc(sizeof(LNode))。 for(i=1。i++){ Pnext=(LinkList)malloc(sizeof(LNode))。 Pdata=i*21。 for(i=4。i) Ins_LinkList(L,i+1,i*2)。i=3。解: 已知L是無表頭結(jié)點(diǎn)的單鏈表,且P結(jié)點(diǎn)既不是首元結(jié)點(diǎn),也不是尾元結(jié)點(diǎn),試從下列提供的答案中選擇合適的語(yǔ)句序列。b. 在P結(jié)點(diǎn)前插入S結(jié)點(diǎn)的語(yǔ)句序列是__________________。d. 在表尾插入S結(jié)點(diǎn)的語(yǔ)句序列是__________________。(2) Pnext=Pnextnext。(4) Snext=Pnext。(6) Snext=NULL。(8) while(Pnext!=Q) P=Pnext。(10) P=Q。(12) L=S。解:a. (4) (1) b. (7) (11) (8) (4) (1) c. (5) (12) d. (9) (1) (6) 已知L是帶表頭結(jié)點(diǎn)的非空單鏈表,且P結(jié)點(diǎn)既不是首元結(jié)點(diǎn),也不是尾元結(jié)點(diǎn),試從下列提供的答案中選擇合適的語(yǔ)句序列。 b. 刪除P結(jié)點(diǎn)的直接前驅(qū)結(jié)點(diǎn)的語(yǔ)句序列是____________________。 d. 刪除首元結(jié)點(diǎn)的語(yǔ)句序列是____________________。(1) P=Pnext。(3) Pnext=Pnextnext。(5) while(P!=NULL) P=Pnext。 Q=Qnext。(8) while(Pnextnext!=Q) P=Pnext。(10) Q=P。(12) P=L。(14) free(Q)。a. 在P結(jié)點(diǎn)后插入S結(jié)點(diǎn)的語(yǔ)句序列是_______________________。c. 刪除P結(jié)點(diǎn)的直接后繼結(jié)點(diǎn)的語(yǔ)句序列是_______________________。e. 刪除P結(jié)點(diǎn)的語(yǔ)句序列是_______________________。(2) Ppriou=Pprioupriou。(4) Ppriou=S。(6) Spriou=P。(8) Spriou=Ppriou。(10) Ppriounext=P。(12) Pnextpriou=S。(14) Pnextpriou=Ppriou。(16) Q=Ppriou。(18) free(Q)。(1) Status A(LinkedList L) { //L是無表頭結(jié)點(diǎn)的單鏈表 if(L amp。 Lnext) { Q=L。 P=L。 Pnext=Q。 } return OK。 while(pnext!=q) p=pnext。 } void AA(LNode *pa, LNode *pb) { //pa和pb分別指向單循環(huán)鏈表中的兩個(gè)結(jié)點(diǎn) BB(pa,pb)。 }解:(1) 如果L的長(zhǎng)度不小于2,將L的首元結(jié)點(diǎn)變成尾元結(jié)點(diǎn)。 指出以下算法中的錯(cuò)誤和低效之處,并將它改寫為一個(gè)既正確又高效的算法。a,int i,int k){ //本過程從順序存儲(chǔ)結(jié)構(gòu)的線性表a中刪除第i個(gè)元素起的k個(gè)元素 if(i1||k0||i+k) return INFEASIBLE。countk。j=i+1。 。}解:Status DeleteK(SqList amp。 if(i0||i||k0||k) return INFEASIBLE。j=k。 =。} 設(shè)順序表va中的數(shù)據(jù)元素遞增有序。解:Status InsertOrderList(SqList amp。 if(==)return(OVERFLOW)。i0,x[i1]。 [i]=x。 return OK。若空表,則;若=空表,而空表,或者兩者均不為空表,且的首元小于的首元,則;否則。解:Status CompareOrderList(SqList amp。B){ int i,k,j。 for(i=0。i++){ if([i][i]) j=1。 } if(k) j=1。 if(==) j=0。} 試寫一算法在帶頭結(jié)點(diǎn)的單鏈表結(jié)構(gòu)上實(shí)現(xiàn)線性表操作Locate(L,x)。L,ElemType x){ int i=0。 while(pamp。pdata!=x){ p=pnext。 } if(!p) return 0。} 試寫一算法在帶頭結(jié)點(diǎn)的單鏈表結(jié)構(gòu)上實(shí)現(xiàn)線性表操作Length(L)。L){ int i=0。 if(p) p=pnext。 i++。} 已知指針ha和hb分別指向兩個(gè)單鏈表的頭結(jié)點(diǎn),并且已知兩個(gè)鏈表的長(zhǎng)度分別為m和n。請(qǐng)分析你的算法的時(shí)間復(fù)雜度。ha,LinkList amp。hc){ LinkList pa,pb。 pb=hb。amp。 pb=pbnext。 while(pbnext) pb=pbnext。 } else{ hc=ha。 panext=hbnext。下列算法是從表la中刪除自第i個(gè)元素起共len個(gè)元素后,將它們插入到表lb中第i個(gè)元素之前。Status DeleteAndInsertSub(LinkedList la,LinkedList lb,int i,int j,int len){ if(i0||j0||len0) return INFEASIBLE。 k=1。 k++。 while(k=len){ q=qnext。 } s=lb。 while(kj){ s=snext。 } snext=p。 return OK。la,LinkList amp。 int k=1。 // 在la表中查找第i個(gè)結(jié)點(diǎn) p=la。amp。 p=pnext。 } if(!p)return INFEASIBLE。 k=1。amp。 k++。 // 完成刪除,注意,i=1的情況需要特殊處理 if(!prev) la=qnext。 // 將從la中刪除的結(jié)點(diǎn)插入到lb中 if(j=1){ qnext=lb。 } else{ s=lb。 while(samp。kj1){ s=snext。 } if(!s)return INFEASIBLE。 snext=p。} 試寫一算法,在無頭結(jié)點(diǎn)的動(dòng)態(tài)單鏈表上實(shí)現(xiàn)線性表操作Insert(L,i,b),并和在帶頭結(jié)點(diǎn)的動(dòng)態(tài)單鏈表上實(shí)現(xiàn)相同操作的算法進(jìn)行比較。 已知線性表中的元素以值遞增有序排列,并以單鏈表作存儲(chǔ)結(jié)構(gòu)。解:Status ListDelete_L(LinkList amp。 if(minkmaxk)return ERROR。 prev=p。 while(pamp。pdatamaxk){ if(pdata=mink){ prev=p。 } else{ prevnext=pnext。 p=pnext。 } } return OK。解:void ListDelete_LSameNode(LinkList amp。 p=L。 p=pnext。 p=pnext。amp。 q=p。 free(q)。解:// 順序表的逆置Status ListOppose_Sq(SqList amp。 ElemType x。i。 [i]=[]。 } return OK。解:// 帶頭結(jié)點(diǎn)的單鏈表的逆置Status ListOppose_L(LinkList amp。 p=L。 Lnext=NULL。 p=pnext。 Lnext=q。} 設(shè)線性表,試寫一個(gè)按下列規(guī)則合并A,B為線性表C的算法,即使得 當(dāng)時(shí); 當(dāng)時(shí)。注意:?jiǎn)捂湵淼拈L(zhǎng)度值m和n均未顯式存儲(chǔ)。A,LinkList amp。C){ LinkList pa,pb,qa,qb。 pb=Bnext。 while(paamp。pb){ qa=pa。 pa=panext。 qbnext=qanext。 } if(!pa)qbnext=pb。 free(pb)。} 假設(shè)有兩個(gè)按元素值遞增有序排列的線性表A和B,均以單鏈表作存儲(chǔ)結(jié)構(gòu),請(qǐng)編寫算法將A表和B表歸并成一個(gè)按元素值遞減有序(即非遞增有序,允許表中含有值相同的元素)排列的線性表C,并要求利用原表(即A表和B表)的結(jié)點(diǎn)空間構(gòu)造C表。A,LinkList amp。C){ LinkList pa,pb,qa,qb。 pb=B。 // 保存pa的前驅(qū)指針 qb=pb。 pb=pbnext。 C=A。amp。 pa=panext。 //將當(dāng)前最小結(jié)點(diǎn)插入A表表頭 Anext=qa。 pb=pbnext。 //將當(dāng)前最小結(jié)點(diǎn)插入A表表頭 Anext=qb。 pa=panext。 Anext=qa。 pb=pbnext。 Anext=qb。 free(pb)。} 假設(shè)以兩個(gè)元素依值遞增有序排列的線性表A和B分別表示兩個(gè)集合(即同一表中的元素值各不相同),現(xiàn)要求另辟空間構(gòu)成一個(gè)線性表C,其元素為A和B中元素的交集,且表C中的元素有依值遞增有序排列。解:// 將A、B求交后的結(jié)果放在C表中Status ListCross_Sq(SqList amp。B,SqList amp。 while(i amp。 j){ if([i][j]) i++。 else{ ListInsert_Sq(C,k,[i])。 k++。} 。解:// 將A、B求交后的結(jié)果放在C表中,并刪除B表Status ListCross_L(LinkList amp。B,LinkList amp。 pa=A。 qa=pa。 // 保存pb的前驅(qū)指針 pa=panext。 C=A。amp。 pa=panext。 free(pt)。 pb=pbnext。 free(pt)。 pa=panext。 pa=panext。 free(pt)。 pb=pbnext。 free(pt)。 free(pb)。} ,對(duì)順序表重新編寫求得表C的算法。解:(1)// A、B求交,然后刪除相同元素,將結(jié)果放在C表中Status ListCrossDelSame_Sq(SqList amp。B,SqList amp。 while(i amp。 j){ if([i][j]) i++。 else{ if(==0){ ListInsert_Sq(C,k,[i])。 } else if([]!=[i]){ ListInsert_Sq(C,k,[i])。 } i++。}(2)// A、B求交,然后刪除相同元素,將結(jié)果放在A表中Status ListCrossDelSame_Sq(SqList amp。B){ int i=0,j=0,k=0。amp。 else if([i][j]) j++。 k++。 k++。 } } =k。} ,對(duì)單鏈表重新編寫求得表C的算法。解: (1)// A、B求交,結(jié)果放在C表中,并刪除相同元素Status ListCrossDelSame_L(LinkList amp。B,LinkList amp。 pa=A。 qa=pa。 // 保存pb的前驅(qū)指針 pa=panext。 C=A。amp。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1