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

正文內容

數(shù)據(jù)結構課程設計正文(編輯修改稿)

2024-11-04 23:05 本頁面
 

【文章內容簡介】 mp。amp。pexpnexpn)//查找插入位置{q1=q2。q2=q2next。}if(q2amp。amp。pexpn==q2expn)//將指數(shù)相同相合并 {q2coef+=pcoef。free(p)。if(!q2coef)//系數(shù)為0的話釋放結點{ q1next=q2next。free(q2)。}}else { pnext=q2。q1next=p。}//指數(shù)為新時將結點插入} 7} //建立一個頭指針為head、項數(shù)為m的一元多項式 Polyn Create(Polyn head,int m){int i。Polyn p。p=head=(Polyn)malloc(sizeof(struct Polynomial))。headnext=NULL。for(i=0。i{p=(Polyn)malloc(sizeof(struct Polynomial))。//建立新結點以接收數(shù)據(jù)printf(“請輸入第%d項的系數(shù)與指數(shù):”,i+1)。scanf(“%f %d”,amp。pcoef,amp。pexpn)。Insert(p,head)。//調用Insert函數(shù)插入結點}return head。} //銷毀多項式p void Destroy(Polyn p){Polyn q1,q2。q1=pnext。8q2=q1next。while(q1next){free(q1)。q1=q2。//指針后移q2=q2next。} } //輸出多項式p int Print(Polyn P){Polyn q=Pnext。int flag=1。//項數(shù)計數(shù)器if(!q)//若多項式為空,輸出0{putchar(39。039。)。printf(“n”)。return。}while(q){if(qcoef0amp。amp。flag!=1)putchar(39。+39。)。//系數(shù)大于0且不是第一項 9if(qcoef!=1amp。amp。qcoef!=1)//系數(shù)非1或1的普通情況{printf(“%g”,qcoef)。if(qexpn==1)putchar(39。X39。)。else if(qexpn)printf(“X^%d”,qexpn)。}else{if(qcoef==1){if(!qexpn)putchar(39。139。)。else if(qexpn==1)putchar(39。X39。)。else printf(“X^%d”,qexpn)。}if(qcoef==1){if(!qexpn)printf(“1”)。else if(qexpn==1)printf(“X”)。else printf(“X^%d”,qexpn)。}}q=qnext。flag++。}printf(“n”)。} int pare(Polyn a,Polyn b){if(aamp。amp。b){if(!b||aexpnbexpn)return 1。else if(!a||aexpnexpn)return1。else return 0。}else if(!aamp。amp。b)return1。//a多項式已空,但b多項式非空else return 1。//b多項式已空,但a多項式非空 } //求解并建立多項式a+b,返回其頭指針 Polyn Add(Polyn pa,Polyn pb){Polyn qa=panext。Polyn qb=pbnext。Polyn headc,hc,qc。hc=(Polyn)malloc(sizeof(struct Polynomial))。//建立頭結點 11hcnext=NULL。headc=hc。while(qa||qb){qc=(Polyn)malloc(sizeof(struct Polynomial))。switch(pare(qa,qb)){case 1:qccoef=qacoef。qcexpn=qaexpn。qa=qanext。break。case 0:qccoef=qacoef+qbcoef。qcexpn=qaexpn。qa=qanext。qb=qbnext。break。case1:qccoef=qbcoef。qcexpn=qbexpn。qb=qbnext。break。12}if(qccoef!=0){qcnext=hcnext。hcnext=qc。hc=qc。}else free(qc)。//當相加系數(shù)為0時,釋放該結點}return headc。} //求解并建立多項式ab,返回其頭指針 Polyn Subtract(Polyn pa,Polyn pb){Polyn h=pb。Polyn p=pbnext。Polyn pd。while(p)//將pb的系數(shù)取反{ pcoef*=1。p=pnext。}pd=Add(pa,h)。for(p=hnext。p。p=pnext)//恢復pb的系數(shù)pcoef*=1。13return pd。} //求解并建立多項式a*b,返回其頭指針 Polyn Multiply(Polyn pa,Polyn pb){Polyn hf,pf。Polyn qa=panext。Polyn qb=pbnext。hf=(Polyn)malloc(sizeof(struct Polynomial))。//建立頭結點hfnext=NULL。for(。qa。qa=qanext){for(qb=pbnext。qb。qb=qbnext){pf=(Polyn)malloc(sizeof(struct Polynomial))。pfcoef=qacoef*qbcoef。pfexpn=qaexpn+qbexpn。Insert(pf,hf)。//調用Insert函數(shù)以合并指數(shù)相同的項}}return hf。}//求解并建立多項式a/b,返回其頭指針 void Device(Polyn pa,Polyn pb){Polyn hf,pf,temp1,temp2。Polyn qa=panext。Polyn qb=pbnext。hf=(Polyn)malloc(sizeof(struct Polynomial))。//建立頭結點,存儲商hfnext=NULL。pf=(Polyn)malloc(sizeof(struct Polynomial))。//建立頭結點,存儲余數(shù)pfnext=NULL。temp1=(Polyn)malloc(sizeof(struct Polynomial))。temp1next=NULL。temp2=(Polyn)malloc(sizeof(struct Polynomial))。temp2next=NULL。temp1=Add(temp1,pa)。while(qa!=NULLamp。amp。qaexpn=qbexpn){temp2next=(Polyn)malloc(sizeof(struct Polynomial))。temp2nextcoef=(qacoef)/(qbcoef)。temp2nextexpn=(qaexpn)(qbexpn)。Insert(temp2next,hf)。pa=Subtract(pa,Multiply(pb,temp2))。15qa=panext。temp2next=NULL。}pf=Subtract(temp1,Multiply(hf,pb))。pb=temp1。printf(“商是:”)。Print(hf)。printf(“余數(shù)是:”)。Print(pf)。} void main(){ int choose=1。int m,n,flag=0。system(“Color E0”)。Polyn pa=0,pb=0,pc,pd,pf。//定義各式的頭指針,pa與pb在使用前付初值NULL printf(“請輸入A(x)的項數(shù):”)。scanf(“%d”,amp。m)。printf(“n”)。pa=Create(pa,m)。//建立多項式A printf(“n”)。printf(“請輸入B(x)的項數(shù):”)。16scanf(“%d”,amp。n)。printf(“n”)。pb=Create(pb,n)。//建立多項式B printf(“n”)。printf(“**********************************************n”)。printf(“*多項式操作菜單printf(”**********************************************n“)。printf(”tt “)。printf(”tt “)。printf(”tt “)。printf(”tt “)。printf(”tt “)。printf(”tt “)。printf(”**********************************************n“)。while(choose){printf(”執(zhí)行操作:“)。scanf(”%d“,amp。flag)。switch(flag){case 1:printf(”多項式A(x):“)。Print(pa)。*n”)。printf(“多項式B(x):”)。Print(pb)。break。case 2:pc=Add(pa,pb)。printf(“多項式A(x)+B(x):”)。Print(pc)。Destroy(pc)。break。case 3:pd=Subtract(pa,pb)。printf(“多項式A(x)B(x):”)。Print(pd)。Destroy(pd)。break。case 4:pf=Multiply(pa,pb)。printf(“多項式A(x)*B(x):”)。Print(pf)。Destroy(pf)。break。case 5:Device(pa,pb)。18break。case 6:exit(0)。break。} }Destroy(pa)。Destroy(pb)。}第三篇:數(shù)據(jù)結構課程設計數(shù)據(jù)結構課程設計設計一個利用赫夫曼算法的編碼和譯碼系統(tǒng),重復地顯示并處理以下項目,直到選擇退出為止。要求:1)將權值數(shù)據(jù)存放在數(shù)據(jù)文件(,位于執(zhí)行程序的當前目錄中)2)初始化:鍵盤輸入字符集大小226個字符和26個權值(統(tǒng)計一篇英文文章中26個字母),建立哈夫曼樹;3)編碼:利用建好的哈夫曼樹生成哈夫曼編碼;4)輸出編碼(首先實現(xiàn)屏幕輸出,然后實現(xiàn)文件輸出); 5)界面優(yōu)化設計。代碼如下:include include include include define N 200typedef struct HTNode//結構體 { int Weight。char ch。int Parent,Lchild,Rchild。}HTNode。typedef char * * HCode。void Save(int n,HTNode *
點擊復制文檔內容
職業(yè)教育相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1