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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)正文-在線瀏覽

2024-11-04 23:05本頁(yè)面
  

【正文】 // 構(gòu)建順序表SSTable *t =(SSTable*)malloc(sizeof(SSTable))。tlength=length。} void FillTable(SSTable *table){// 無(wú)序表的輸入ElemType *t=tableelem。ilength。scanf(“%d”, t)。} } void Destroy(SSTable *table){//銷毀表free(tableelem)。} void PrintTable(SSTable *table){// 打印查找表中的元素int i。16 for(i=0。i++){ t++。} } //順序(哨兵)查找算法int Search_Seq(SSTable *table, ElemType key){/*在順序表ST中順序查找其關(guān)鍵字等于key的數(shù)據(jù)元素。*/tableelem[0]=key。// 找不到時(shí),返回0 int i。i=1。//找到關(guān)鍵字的時(shí)候,該元素的位置 break。//找不到時(shí)返回 }17void Sort(SSTable *table){// 排序算法int i, j。for(i=tablelength。i)// 從前往后找 {for(j=1。若找到,則函數(shù)值為該元} {} if(tableelem[j]tableelem[j+1]){//從小到大排列} temp=tableelem[j]。//元素后移 tableelem[j+1]=temp。18} int high=tablelength。// 找不到時(shí),返回0 while(low } return result。//中間的數(shù)據(jù)元素 if(tableelem[mid]==key){ result=mid。}//找到待查元素 else if(keyelem[mid]){ high=mid1。}//繼續(xù)在后半?yún)^(qū)間進(jìn)行查找// 主函數(shù)19 int main(int argc, char* argv[]){SSTable *table。//元素的位置 int n。printf(“輸入 n:”)。n)。table, n)。PrintTable(table)。Search_Seq(table,key)。if(r0)printf(“ 關(guān)鍵字 %d 在表中的位置是: %dn”,key, r)。n”)。//對(duì)無(wú)序表進(jìn)行排序printf(“數(shù)據(jù)排序后的順序如下:n ”)。//打印有序表 printf(“n”)。r=Search_Bin(table,key)。else{printf(“查找失敗,表中無(wú)此數(shù)據(jù)。} } return 0。二、設(shè)計(jì)思路本程序采用C語(yǔ)言來(lái)完成課程設(shè)計(jì)。然后把輸入,加,減,乘,除運(yùn)算分成五個(gè)主要的模塊:實(shí)現(xiàn)多項(xiàng)式輸入模塊、實(shí)現(xiàn)加法的模塊、實(shí)現(xiàn)減法的模塊、實(shí)現(xiàn)乘法的模塊、實(shí)現(xiàn)除法的模塊。最后編寫main()主函數(shù)以實(shí)現(xiàn)對(duì)多項(xiàng)式輸入輸出以及加、減、乘、除,調(diào)試程序并將不足的地方加以修改。int expn。} *Polyn,Polynomial。(2)當(dāng)用戶輸入兩個(gè)一元多項(xiàng)式的系數(shù)和指數(shù)后,建立鏈表,存儲(chǔ)這兩個(gè)多項(xiàng)式,主要說(shuō)明如下:Polyn CreatePolyn(Polyn head,int m)建立一個(gè)頭指針為head、項(xiàng)數(shù)為m的一元多項(xiàng)式p=head=(Polyn)malloc(sizeof(struct Polynomial))。建立新結(jié)點(diǎn)以接收數(shù)據(jù)Insert(p,head)。在這個(gè)程序模塊中,使用鏈表,根據(jù)對(duì)指數(shù)大小的比較,對(duì)各種情況進(jìn)行處理,此處由于反復(fù)使用指針對(duì)各個(gè)結(jié)點(diǎn)進(jìn)行定位,找到合適的位置再利用void Insert(Polyn p,Polyn h)進(jìn)行插入操作。這就實(shí)現(xiàn)了多項(xiàng)式計(jì)算模塊的主要功能。由于考慮各個(gè)結(jié)點(diǎn)的指數(shù)情況不同,分別進(jìn)行了判斷處理。可以函數(shù)解決,這里“E0,”E是控制臺(tái)背景顏色,0是控制臺(tái)輸出字體顏色。其次是,在寫除法模塊時(shí)比較復(fù)雜,自己通過(guò)查資料最后成功寫出除法模塊功能。六、測(cè)試(程序截圖)七、總結(jié)通過(guò)本次應(yīng)用C語(yǔ)言設(shè)計(jì)一元多項(xiàng)式基本計(jì)算程序,使我更加鞏固了C語(yǔ)言程序設(shè)計(jì)的知識(shí),以前對(duì)指針這一點(diǎn)使用是比較模糊,現(xiàn)在通過(guò)此次課程設(shè)計(jì)對(duì)指針理解的比較深刻了。本次的課程設(shè)計(jì),一方面提高了自己獨(dú)立思考處理問(wèn)題的能力;另一方面使自己再設(shè)計(jì)開(kāi)發(fā)程序方面有了一定的小經(jīng)驗(yàn)和想法,對(duì)自己以后學(xué)習(xí)其他語(yǔ)言程序設(shè)計(jì)奠定了一定的基礎(chǔ)。6int expn。} *Polyn,Polynomial。//系數(shù)為0的話釋放結(jié)點(diǎn)else{Polyn q1,q2。q2=hnext。amp。q2=q2next。amp。free(p)。free(q2)。q1next=p。Polyn p。headnext=NULL。i{p=(Polyn)malloc(sizeof(struct Polynomial))。scanf(“%f %d”,amp。pexpn)。//調(diào)用Insert函數(shù)插入結(jié)點(diǎn)}return head。q1=pnext。while(q1next){free(q1)。//指針后移q2=q2next。int flag=1。039。printf(“n”)。}while(q){if(qcoef0amp。flag!=1)putchar(39。)。amp。if(qexpn==1)putchar(39。)。}else{if(qcoef==1){if(!qexpn)putchar(39。)。X39。else printf(“X^%d”,qexpn)。else if(qexpn==1)printf(“X”)。}}q=qnext。}printf(“n”)。amp。else if(!a||aexpnexpn)return1。}else if(!aamp。b)return1。//b多項(xiàng)式已空,但a多項(xiàng)式非空 } //求解并建立多項(xiàng)式a+b,返回其頭指針 Polyn Add(Polyn pa,Polyn pb){Polyn qa=panext。Polyn headc,hc,qc。//建立頭結(jié)點(diǎn) 11hcnext=NULL。while(qa||qb){qc=(Polyn)malloc(sizeof(struct Polynomial))。qcexpn=qaexpn。break。qcexpn=qaexpn。qb=qbnext。case1:qccoef=qbcoef。qb=qbnext。12}if(qccoef!=0){qcnext=hcnext。hc=qc。//當(dāng)相加系數(shù)為0時(shí),釋放該結(jié)點(diǎn)}return headc。Polyn p=pbnext。while(p)//將pb的系數(shù)取反{ pcoef*=1。}pd=Add(pa,h)。p。13return pd。Polyn qa=panext。hf=(Polyn)malloc(sizeof(struct Polynomial))。for(。qa=qanext){for(qb=pbnext。qb=qbnext){pf=(Polyn)malloc(sizeof(struct Polynomial))。pfexpn=qaexpn+qbexpn。//調(diào)用Insert函數(shù)以合并指數(shù)相同的項(xiàng)}}return hf。Polyn qa=panext。hf=(Polyn)malloc(sizeof(struct Polynomial))。pf=(Polyn)malloc(sizeof(struct Polynomial))。temp1=(Polyn)malloc(sizeof(struct Polynomial))。temp2=(Polyn)malloc(sizeof(struct Polynomial))。temp1=Add(temp1,pa)。amp。temp2nextcoef=(qacoef)/(qbcoef)。Insert(temp2next,hf)。15qa=panext。}pf=Subtract(temp1,Multiply(hf,pb))。printf(“商是:”)。printf(“余數(shù)是:”)。} void main(){ int choose=1。system(“Color E0”)。//定義各式的頭指針,pa與pb在使用前付初值NULL printf(“請(qǐng)輸入A(x)的項(xiàng)數(shù):”)。m)。pa=Create(pa,m)。printf(“請(qǐng)輸入B(x)的項(xiàng)數(shù):”)。n)。pb=Create(pb,n)。printf(“**********************************************n”)。printf(”tt “)。printf(”tt “)。printf(”tt “)。printf(”**********************************************n“)。scanf(”%d“,amp。switch(flag){case 1:printf(”多項(xiàng)式A(x):“)。*n”)。Print(pb)。case 2:pc=Add(pa,pb)。Print(pc)。break。printf(“多項(xiàng)式A(x)B(x):”)。Destroy(pd)。case 4:pf=Multiply(pa,pb)。Print(pf)。break。18break。break。Destroy(pb)。要求:1)將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(,位于執(zhí)行程序的當(dāng)前目錄中)2)初始化:鍵盤輸入字符集大小226個(gè)字符和26個(gè)權(quán)值(統(tǒng)計(jì)一篇英文文章中26個(gè)字母),建立哈夫曼樹(shù);3)編碼:利用建好的哈夫曼樹(shù)生成哈夫曼編碼;4)輸出編碼(首先實(shí)現(xiàn)屏幕輸出,然后實(shí)現(xiàn)文件輸出); 5)界面優(yōu)化設(shè)計(jì)。char ch。}HTNode。void Save(int n,HTNode *HT)//把權(quán)值保存到文件 {FILE * fp。if((fp=fopen(“”,“wb”))==NULL){printf(“cannot open filen”)。}for(i=0。HT[i].Weight,sizeof(struct HTNode),1,fp)!=1)printf(“file write errorn”)。system(“cls”)。}void Create_H(int n,int m,HTNode *HT)//建立赫夫曼樹(shù),進(jìn)行編碼 {int w,k,j。for(k=1。scanf(“%d”,amp。scanf(“ %c”,amp。HT[k].ch=c。}else HT[k].Weight=0。}int p1,p2,w1,w2。kp1=0。w1=32767。for(j=1。p2=p1。p1=j。p2=j。HT[k].Rchild=p2。HT[p1].Parent=k。} printf(“輸入成功!”)。char *cd。HC=(HCode)malloc((n+1)*sizeof(char *))。cd[n1]=39。printf(“************************n”)。for(k=1。
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1