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

正文內(nèi)容

嚴蔚敏c語言版數(shù)據(jù)結(jié)構(gòu)習題集答案(編輯修改稿)

2024-07-23 08:55 本頁面
 

【文章內(nèi)容簡介】 /Locate_DuList float GetValue_SqPoly(SqPoly P,int x0)//求升冪順序存儲的稀疏多項式的值{PolyTerm *q。xp=1。q=。sum=0。ex=0。while(qcoef){ while(exqexp) xp*=x0。 sum+=qcoef*xp。 q++。}return sum。}//GetValue_SqPoly void Subtract_SqPoly(SqPoly P1,SqPoly P2,SqPoly amp。P3)//求稀疏多項式P1減P2的差式P3{PolyTerm *p,*q,*r。Create_SqPoly(P3)。 //建立空多項式P3p=。q=。r=。while(pcoefamp。amp。qcoef){ if(pexpqexp) { rcoef=pcoef。 rexp=pexp。 p++。r++。 } else if(pexpqexp) { rcoef=qcoef。 rexp=qexp。 q++。r++。 } else { if((pcoefqcoef)!=0) //只有同次項相減不為零時才需要存入P3中 { rcoef=pcoefqcoef。 rexp=pexp。r++。 }//if p++。q++。 }//else}//whilewhile(pcoef) //處理P1或P2的剩余項{ rcoef=pcoef。 rexp=pexp。 p++。r++。}while(qcoef){ rcoef=qcoef。 rexp=qexp。 q++。r++。}}//Subtract_SqPoly void QiuDao_LinkedPoly(LinkedPoly amp。L)//對有頭結(jié)點循環(huán)鏈表結(jié)構(gòu)存儲的稀疏多項式L求導{p=Lnext。if(!p){ Lnext=pnext。p=pnext。 //跳過常數(shù)項}while(p!=L){ p*=p。//對每一項求導 p=pnext。}}//QiuDao_LinkedPoly void Divide_LinkedPoly(LinkedPoly amp。L,amp。A,amp。B)//把循環(huán)鏈表存儲的稀疏多項式L拆成只含奇次項的A和只含偶次項的B{p=Lnext。A=(PolyNode*)malloc(sizeof(PolyNode))。B=(PolyNode*)malloc(sizeof(PolyNode))。pa=A。pb=B。while(p!=L){ if(p!=2*(p)) { panext=p。pa=p。 } else { pbnext=p。pb=p。 } p=pnext。}//whilepanext=A。pbnext=B。 }//Divide_LinkedPoly第三章 棧與隊列 typedef struct{ Elemtype *base[2]。 Elemtype *top[2]。 }BDStacktype。 //雙向棧類型 Status Init_Stack(BDStacktype amp。tws,int m)//初始化一個大小為m的雙向棧tws{[0]=(Elemtype*)malloc(sizeof(Elemtype))。[1]=[0]+m。[0]=[0]。[1]=[1]。return OK。}//Init_Stack Status push(BDStacktype amp。tws,int i,Elemtype x)//x入棧,i=0表示低端棧,i=1表示高端棧{if([0][1]) return OVERFLOW。 //注意此時的棧滿條件if(i==0) *[0]++=x。else if(i==1) *[1]=x。else return ERROR。return OK。}//push Status pop(BDStacktype amp。tws,int i,Elemtype amp。x)//x出棧,i=0表示低端棧,i=1表示高端棧{if(i==0){ if([0]==[0]) return OVERFLOW。 x=*[0]。}else if(i==1){ if([1]==[1]) return OVERFLOW。 x=*++[1]。}else return ERROR。return OK。}//pop void Train_arrange(char *train)//這里用字符串train表示火車,39。H39。表示硬席,39。S39。表示軟席{p=train。q=train。InitStack(s)。while(*p){ if(*p==39。H39。) push(s,*p)。 //把39。H39。存入棧中 else *(q++)=*p。 //把39。S39。調(diào)到前部 p++。}while(!StackEmpty(s)){ pop(s,c)。 *(q++)=c。 //把39。H39。接在后部}}//Train_arrange int IsReverse()//判斷輸入的字符串中39。amp。39。前和39。amp。39。后部分是否為逆串,是則返回1,否則返回0{InitStack(s)。while((e=getchar())!=39。amp。39。){ if(e==’@’) return 0。//不允許在’amp?!俺霈F(xiàn)’@’ push(s,e)。 }while( (e=getchar())!=39。@39。){ if(StackEmpty(s)) return 0。 pop(s,c)。 if(e!=c) return 0。}if(!StackEmpty(s)) return 0。return 1。}//IsReverse Status Bracket_Test(char *str)//判別表達式中小括號是否匹配{count=0。for(p=str。*p。p++){ if(*p==39。(39。) count++。 else if(*p==39。)39。) count。 if (count0) return ERROR。}if(count) return ERROR。 //注意括號不匹配的兩種情況return OK。}//Bracket_Test Status AllBrackets_Test(char *str)//判別表達式中三種括號是否匹配{InitStack(s)。for(p=str。*p。p++){ if(*p==39。(39。||*p==39。[39。||*p==39。{39。) push(s,*p)。 else if(*p==39。)39。||*p==39。]39。||*p==39。}39。) { if(StackEmpty(s)) return ERROR。 pop(s,c)。 if(*p==39。)39。amp。amp。c!=39。(39。) return ERROR。 if(*p==39。]39。amp。amp。c!=39。[39。) return ERROR。 if(*p==39。}39。amp。amp。c!=39。{39。) return ERROR。 //必須與當前棧頂括號匹配 }}//forif(!StackEmpty(s)) return ERROR。return OK。}//AllBrackets_Test typedef struct {. int x。 int y。 } coordinate。void Repaint_Color(int g[m][n],int i,int j,int color)//把點(i,j)相鄰區(qū)域的顏色置換為color{old=g[i][j]。InitQueue(Q)。EnQueue(Q,{I,j})。while(!QueueEmpty(Q)){ DeQueue(Q,a)。x=。y=。 if(x1) if(g[x1][y]==old) { g[x1][y]=color。 EnQueue(Q,{x1,y})。 //修改左鄰點的顏色 } if(y1) if(g[x][y1]==old) { g[x][y1]=color。 EnQueue(Q,{x,y1})。 //修改上鄰點的顏色 } if(xm) if(g[x+1][y]==old) { g[x+1][y]=color。 EnQueue(Q,{x+1,y})。 //修改右鄰點的顏色 } if(yn) if(g[x][y+1]==old) { g[x][y+1]=color。 EnQueue(Q,{x,y+1})。 //修改下鄰點的顏色 }}//while}//Repaint_Color分析:本算法采用了類似于圖的廣度優(yōu)先遍歷的思想,? void NiBoLan(char *str,char *new)//把中綴表達式str轉(zhuǎn)換成逆波蘭式new{p=str。q=new。 //為方便起見,設(shè)str的兩端都加上了優(yōu)先級最低的特殊符號InitStack(s)。 //s為運算符棧while(*p){ if(*p是字母)) *q++=*p。 //直接輸出 else { c=gettop(s)。 if(*p優(yōu)先級比c高) push(s,*p)。 else { while(gettop(s)優(yōu)先級不比*p低) { pop(s,c)。*(q++)=c。 }//while push(s,*p)。 //運算符在棧內(nèi)遵循越往棧頂優(yōu)先級越高的原則 }//else }//else p++。}//while}//NiBoLan //參見編譯原理教材 int GetValue_NiBoLan(char *str)//對逆波蘭式求值{p=str。InitStack(s)。 //s為操作數(shù)棧while(*p){ if(*p是數(shù)) push(s,*p)。 else { pop(s,a)。pop(s,b)。 r=pute(b,*p,a)。 //假設(shè)pute為執(zhí)行雙目運算的過程 push(s,r)。 }//else p++。}//whilepop(s,r)。return r。}//GetValue_NiBoLan Status NiBoLan_to_BoLan(char *str,stringtype amp。new)//把逆波蘭表達式str轉(zhuǎn)換為波蘭式new{p=str。Initstack(s)。 //s的元素為stringtype類型whil
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1