-
大小: 208KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-08-28
- 語(yǔ)言: 其他
- 標(biāo)簽: 課程設(shè)計(jì)??數(shù)據(jù)結(jié)構(gòu)??實(shí)驗(yàn)報(bào)告??一元稀疏??
資源簡(jiǎn)介
一元稀疏多項(xiàng)式計(jì)算器 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),包含實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告內(nèi)包含E-R圖,對(duì)數(shù)據(jù)的分析. 這是個(gè)關(guān)于數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)單設(shè)計(jì)! 內(nèi)容簡(jiǎn)單!

代碼片段和文件信息
#include?
#include?
#include
using?namespace?std;
typedef?struct?Polynomial
{
????int?coef;?????????????????//系數(shù)
????int?expn;?????????????????//指數(shù)
????struct?Polynomial?*next;??//指針
}*PolynPolynomial;
Polyn?papbpdps;
Polyn?CreateLine(Polyn?headchar?str);?//功能?:???輸入A?B的表達(dá)式
void?Output(Polyn?Mchar?date);????????//功能?:??輸出A或B的表達(dá)式
Polyn?Output_A_add_B(Polyn?p);?????????//功能?:???輸出?A?+?B的表達(dá)式
Polyn?Output_A_sub_B(Polyn?p);?????????//功能?:???輸出?A?-?B的表達(dá)式
void?Insert(Polyn?pPolyn?h);??????????//功能?:???數(shù)據(jù)的輸入
void?show1();??????????????????????????//功能?:???主菜單顯示
void?show2();??????????????????????????//功能?:???選擇A?或?B的頁(yè)面
void?menu();???????????????????????????//功能?:???主菜單
Polyn?CreateLine(Polyn?headchar?str)??//建立一個(gè)頭指針為head、項(xiàng)數(shù)為m的一元多項(xiàng)式
{
????int?????i?a;
????Polyn???p;
????cout?<<“請(qǐng)輸入“< ????cin?>>a;
????p=head=(Polyn)malloc(sizeof(struct?Polynomial));
????head->next=NULL;
????for(i=0;i {
????????p=(Polyn)malloc(sizeof(struct?Polynomial));??//建立新結(jié)點(diǎn)以接收數(shù)據(jù)
????????cout?<<“請(qǐng)輸入第“<????????cin?>>p->coef>>p->expn;
????????Insert(phead);??????????????????????????????//調(diào)用Insert函數(shù)插入結(jié)點(diǎn)
}
cout?<<“錄入信息成功!“<
????return?head;
}
void?Output(Polyn?Mchar?date)?????????//輸出函數(shù)??已完成
{
????Polyn?L=M;
????L=L->next;
????if(L==NULL)
????{
????????cout?< ????}
????else?{
????????cout?< ????????while(L->next!=NULL)
????????{
????????????cout<coef<<“*X^“<expn;L=L->next;
????????????if(L!=NULL)
????????????{
????????????????if(L->coef?>0)
????????????????{
????????????????????cout<<“+“;
????????????????}
????????????}
????????}
????????cout<coef<<“*X^“<expn<<“;“< ????}
}
void?Insert(Polyn?pPolyn?h)???????????//功能?:???數(shù)據(jù)的輸入
{
????if(p->coef==0)?free(p);???????//系數(shù)為0的話釋放結(jié)點(diǎn)
????else
{
????????Polyn?q1q2;
????????q1=h;
q2=h->next;
????????while(q2&&?p->expn?expn)
{????????????????????????//查找插入位置
????????????q1=q2;
????????????q2=q2->next;
}
????????if(q2&&?p->expn?==?q2->expn)
{????????????????????????//將指數(shù)相同相合并
????????????q2->coef?+=?p->coef;
????????????free(p);
????????????if(!q2->coef)
{????????????????????//系數(shù)為0的話釋放結(jié)點(diǎn)
????????????????q1->next=q2->next;
????????????????free(q2);
}
q2=NULL;
}
????????else
{???????????????????????//指數(shù)為新時(shí)將結(jié)點(diǎn)插入
????????????p->next=q2;
????????????q1->next=p;q2=NULL;
}
}
}
Polyn?Output_A_add_B(Polyn?p)??????????//功能?:???輸出?A+?B的表達(dá)式????????????//???已完成
{
????Polyn?LaLbpc;
????La=pa->next;Lb=pb->next;
????//?pc=La;
????pc=pd=(Polyn)malloc(sizeof(struct?Polynomial));
????pd->next=NULL;
????while(La!=NULL?&&?Lb!=NULL)
????{
????????if(La->expn==Lb->expn)
????????{
????????????int?a=La->coef;
????????????a?+=?Lb->coef;
????????????Polyn?q=(Polyn)malloc(sizeof(struct?Polynomial));
????????????q->coef=a;
????????????q->expn=La->expn;
????????????pc->nex
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????11187??2017-06-19?17:13??一元稀疏多項(xiàng)式計(jì)算器(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì))\數(shù)據(jù)結(jié)構(gòu)完整版.cpp
?????文件??????212314??2018-06-11?20:00??一元稀疏多項(xiàng)式計(jì)算器(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì))\一元稀疏多項(xiàng)式計(jì)算器.docx
評(píng)論
共有 條評(píng)論