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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)(c語言描述)-馬秋菊-源代碼和習(xí)題參考答案(編輯修改稿)

2025-07-16 22:53 本頁面
 

【文章內(nèi)容簡介】 0) { push(S,n)。 n=n1 。} while (!EmptyStack(S) ) { Pop(S,i)。 f=f*i。 }return (f) 。 }8.void huiwen(){Init_LS(s)。 printf(Please input a string:\n)。 for(i=0。(i20)amp。amp。((a[i]=getchar())!=39。\n39。)。++i)。 /*輸入字符串*/ for(j=0。ji/2。++j) /* 字符串的前一半入棧*/ { Push_LS(s,a[j])。 } for(j=ii/2。ji。++j) /*出棧,與后一半字符串比較*/ { Pop_LS(s,amp。ch)。 if(ch!=a[j]) break。 } if(!Empty_LS(s)) printf(It is not a huiwen string!\n )。 else printf(It is a huiwen string!\n )。 }9.defineM100elemtypestack[M]。inttop1=0,top2=m1。intpush(ELEMTPx,inti){if(top1top2==1)return(1)。/*上溢處理*/elseif(i==1)stack[top1++]=x。if(i==2)stack[top2]=x。return(0)。}intpop(ELEMTP*px,inti){if(i==1)if(top1==0)return(1)。else{top1。*px=stack[top1]。return(0)。}elseif(i==2)if(top2==M1)return(1)。else{top2++。*px=stack[top2]。return(0)。}}10.對于一個具有m個單元的循環(huán)隊(duì)列,寫出求隊(duì)列中元素個數(shù)的公式。 sqrearsqfront sqrear=sqfrontcount= m(sq frontsqrear) sqrearsqfront11.循環(huán)隊(duì)列的優(yōu)點(diǎn)是什么?如何判別它的空和滿?優(yōu)點(diǎn):防止假溢出;判別循環(huán)隊(duì)列的空:return(sqrear==sqfront);判別循環(huán)隊(duì)列的滿:return((sqrear+1)%MAXSIZE==sqfront)12.假設(shè)以帶頭結(jié)點(diǎn)的循環(huán)鏈表表示隊(duì)列,并且只設(shè)一個指針指向隊(duì)尾元素位置(注意不設(shè)頭指針),試編寫相應(yīng)的置空隊(duì)、判隊(duì)空、入隊(duì)和出隊(duì)等算法。typedef struct qnode {ElemType data。 struct qnode *next。 } QCNode。 /* 鏈?zhǔn)窖h(huán)鏈隊(duì)列結(jié)點(diǎn)的類型 */typedef struct {QCNode *rear。 }LCQueue 。 /* 只設(shè)一個指向隊(duì)尾元素的指針 */(1)置空隊(duì)算法:void Init_LCQueue(LCQueue *Lcq ) { p=(QCnode*)malloc(sizeof(QCNode))。 /* 申請頭結(jié)點(diǎn) */ pnext=p。 Lcqrear=p。 }(2)判隊(duì)空算法:int Empty_LCQueue( LCQueue *Lcq) {return Lcqrearnext==Lcqrear。 /* 或Lqrear==NULL。 */ }(3)入隊(duì)算法:void In_LCQueue(LCQueue *Lcq , ElemType x) /*進(jìn)隊(duì)操作*/ { LCQueue *p。 p=(QCNode*)malloc(sizeof(QCNode))。 /* 申請新結(jié)點(diǎn) */ pdata=x。 pnext= Lcqrearnext。 Lcqrearnext=p。 Lcqrear=p。 } /* In_LCQueue */(4)出隊(duì)算法:int Out_LCQueue(LCQueue *Lq , ElemType *y) { LCQueue p 。 if (Empty_LCQueue(Lq) ) { printf (隊(duì)空) 。 return OVERFLOW 。 } /* 隊(duì)空, 出隊(duì)失敗 */ else { p=Lcqrearnextnext。 /* 隊(duì)頭第一個數(shù)據(jù)元素結(jié)點(diǎn)*/ Lcqrearnextnext =pnext 。 *y=pdata。 /* 隊(duì)頭元素放y中 */ free (p)。 return OK。 } }13.假設(shè)用一個數(shù)組Q[M]來表示隊(duì)列,該隊(duì)列只設(shè)一個隊(duì)頭指針front,不設(shè)隊(duì)尾指針,用計(jì)數(shù)器count來記錄隊(duì)列中元素的個數(shù)。試編寫出相應(yīng)的置空隊(duì)列、入隊(duì)列和出隊(duì)列的算法。typedef struct queuenode{ ElemType elem[MAXSIZE]。 /* 隊(duì)列中數(shù)據(jù)元素的存儲空間 */ int front ,count。 /* 隊(duì)頭指針、隊(duì)中元素?cái)?shù)量 */ } CirQueue。 /* 以上是結(jié)點(diǎn)類型的定義 */ void Init_Queue ( CirQueue *Q) /* 置空隊(duì) */ { Qfront=Qcount=0。 } int Empty_Queue( CirQueue *Q) /* 判隊(duì)空 */ { return (Qcount==0)。 } int In_Queue (CirQueue *Q, ElemType x) /* 入隊(duì) */ { if(Qcount==MAXSIZE) { printf(隊(duì)已滿,不可以入隊(duì))。 return OVERFLOW}。 } Qelem[(sqfront+sqcount)%MAXSIZE]=x。 sqcount ++。 return OK。 } int Out_Queue( CirQueue *Q,ElemType *y) /* 出隊(duì) */{ if(Empty_Queue(Q)) { printf(隊(duì)已空,無元素可以出隊(duì))。 return OVERFLOW)。} *y=sqelem[sqfront]。 /* 讀出隊(duì)頭元素 */ sqfront=(sqfront+1)%MAXSIZE。 sqcount。 return OK。 } } int Front_Queue( CirQueue *Q, ElemType *y) /* 取隊(duì)頭元素 */ { if(Empty_Queue(Q)) { printf(隊(duì)空,無元素可取)。 return OVERFLOW)。 } *y=sqelem[sqfront]。 /* 讀出隊(duì)頭元素 */ return OK。 }}14.設(shè)長度為n的鏈隊(duì)列用單循環(huán)鏈表表示,若只設(shè)頭指針,則入隊(duì)出隊(duì)操作的時間復(fù)雜度是多少?若只設(shè)尾指針呢?若只設(shè)頭指針,則入隊(duì)操作的時間復(fù)雜度是O(1),出隊(duì)操作的時間復(fù)雜度是O(n);若只設(shè)尾指針,則入隊(duì)操作的時間復(fù)雜度都是O(1)。*15.寫一個算法,借助于棧將一個單鏈表置逆。第4章 數(shù)組1.請按行和按列優(yōu)先順序列出二維數(shù)組A34的所有元素在內(nèi)存中的存儲次序,開始結(jié)點(diǎn)為a00。a00 a10 a20 a01 a11 a21 a02 a12 a22 a03 a13 a232.寫出三維數(shù)組地址計(jì)算公式。設(shè)三維數(shù)組Amn*p,先行,列,最后Z方向LOC(A[i][j][k])= LOC(A[0][0] [0])+(imn+jm+k) L 3.設(shè)有三對角矩陣A nn,將其三條對角線上的元素逐行地存儲到向量B[0‥3n3]中,使得B[k]=a[i][j],求:用i,j表示k的下標(biāo)變換公式。A[i][j]之間的對應(yīng)關(guān)系為:k=2i+j4.二維數(shù)組M的元素是4個字符(每個字符占一個存儲單元)組成的串,行下標(biāo)i的范圍從0到4,列下標(biāo)j的范圍從0到5,M按行存儲時元素M[3][5]的起始地址與M按列存儲時元素( )的起始地址相同。A. m[2][4] B. M[3][4] C. M[3][5] D. M[4][3]M[3][5] 與M存儲時元素M[3][5] 起始地址相同。5.?dāng)?shù)組A中,每個元素A的存儲占3個單元,行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開始連續(xù)存放在存儲器內(nèi),存放該數(shù)組至少需要的單元個數(shù)是(1),若該數(shù)組按行存放時,元素A[8][5]的起始地址是(2),若該數(shù)組按列存放時,元素A[8][5]的起始地址是(3)。 (1) A. 80 B. 100 C. 240 D. 270 (2) +141 +144 +222 +225(3) +141 +180 +222 +225(1)C. (2) C. (3) A6.對于二維數(shù)組A[m][n],其中m=80,n=80,先讀入m,n,然后讀入該數(shù)組的全部元素,對如下三種情況分別編寫相應(yīng)函數(shù): (1) 求數(shù)組A邊界元素之和。int sum( L ){ int row,col,sum=0。for ( row=0。rown。row++) { s
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1