資源簡介
數據結構實驗課(全部題目+全部完整代碼+全部實驗報告)

代碼片段和文件信息
#include
#include?
//多項式中的一項的結構
typedef??struct?term{
?double?coef;?//?定義系數?
?int?expn;?//?定義指數?
????????struct?term*?next;??//?struct關鍵字可要可不要?
}PolyNode?*pPolyNode;
//創建一個保存多項式的鏈表,返回指向頭結點的指針。多項式按指數降序排列
pPolyNode?CreatePoly()
{
?PolyNode?*p*q*s*head=NULL;
?double?coef;
?int?expn;
?head=(pPolyNode)malloc(?sizeof(PolyNode)?);
?if(head==NULL)
?{
??printf(“內存分配失敗!\n“);
??return?NULL;
?}
?head->coef?=0.0;
?head->expn?=0;
?head->next?=NULL;
?printf(“\n請輸入多項式的系數和指數(輸入0?0結束):\n“);
?//scanf(“%lf%d“&coef&expn);
?printf(“請輸入系數:“);
?scanf(“%lf“&coef);
?printf(“請輸入指數:“);
?scanf(“%d“&expn);
?while(?(long)coef?!=0?&&?expn?!=0?)
?{
??s?=?(pPolyNode)malloc(sizeof(PolyNode));
??s->coef?=?coef;
??s->expn?=?expn;
??
??q=head->next?;
??p=head;
??while(q?&&?expn?expn??)
??{
???p=q;
???q=q->next;
??}
??if(q==?NULL?||?expn?>?q->expn?)
??{
???p->next?=s;
???s->next?=q;
??}
??else
??{
???q->coef+=coef;
??}
??printf(“請輸入系數:“);
??scanf(“%lf“&coef);
??printf(“請輸入指數:“);
??scanf(“%d“&expn);
?}
?return?head;
}
//將多項式逆置按升冪排列
pPolyNode??Reverse(pPolyNode?head)
{
?PolyNode?*p*q*t;
?p=NULL;
?q=head->next;
?while(?q!=NULL?)
?{
??t=q->next;
??q->next?=p;
??p=q;
??q=t;
?}
?head->next?=p;
?return?head;
}
//兩個多項式相乘
pPolyNode?multiply(pPolyNode?ApPolyNode?B)
{
?PolyNode?*pa*pb*pc*u*head;
?int?k?maxExp;
?double?coef;
?head=(pPolyNode)malloc(?sizeof?(PolyNode)?);
?if(head==NULL)
?{
??printf(“內存分配失敗!\n“);
??return?NULL;
?}
?head->coef=0.0;
?head->expn?=0;
?head->next?=NULL;
?
?if(A->next?!=NULL?&&?B->next?!=?NULL)
?{
??maxExp=(A->next)?->expn?+(B->next?)->expn?;
?}
?else
?{
??return?head;
?}
?pc=head;
?B=Reverse?(B);
?for(k=maxExp;?k>=0;?k--)
?{
??pa?=?A->next?;
??while(pa?!=?NULL?&&?pa->expn?>k)
???pa=pa->next?;
??
??pb?=?B->next?;
??while(?pb?!=?NULL?&&?pa?!=?NULL?&&?(pa->expn?+?pb->expn)????pb=pb->next;
??coef=0.0;
??while(pa?!=?NULL?&&?pb?!=?NULL?)
??{
???if(?(pa->expn?+pb->expn?)==k?)
???{
????coef+=pa->coef?*?pb->coef;
????pa=pa->next;
????pb=pb->next;
???}
???else
???{
????if((?pa->expn??+??pb->expn?)?>?k?)
????{
?????pa=pa->next;
????}
????else
????{
?????pb=pb->next;
????}
???}
??}
??if(?coef?!=?0.0?)
??{
???u=(pPolyNode)malloc(sizeof(PolyNode));
???u->coef?=coef;
???u->expn?=k;
???u->next?=pc->next;
???pc->next=u;
???pc=u;
??}
?}
?B=Reverse(B);
?return?head;
?
}
void?Printpoly(pPolyNode?head)
{
?PolyNode?*p=head->next;
?while(p)
?{
??printf(“%1.1f“p->coef);
??if(p->expn?)
???printf(“*x^%d“p->expn?);
??if(p->next?&&?p->next->coef?>0)
???printf(“+“);
??p=p->next;
?}
}
int?main()
{
?pPolyNode?ABC;
?A=CreatePoly();
?printf(“A(x)=“);
?Printpoly?(A);
?printf(“\n“);
?B=CreatePoly();
?printf(“B(x)=“);
?Printpoly?(B);
?printf(“\n“);
?C=multiply(AB);
?printf(“C(x)=“);
?Printpoly?(C);
?printf(“\n“);
?return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-05-28?10:52??實驗1:一元多項式相乘\
?????文件????????3119??2019-05-28?10:50??實驗1:一元多項式相乘\1.用鏈表實現一元多項式相乘.cpp
?????文件??????134773??2019-05-28?10:50??實驗1:一元多項式相乘\1.用鏈表實現一元多項式相乘.exe
?????目錄???????????0??2019-05-28?10:56??實驗2:迷宮問題\
?????目錄???????????0??2019-05-28?10:51??實驗2:迷宮問題\bin\
?????目錄???????????0??2019-05-28?10:51??實驗2:迷宮問題\bin\Debug\
?????文件???????88804??2019-05-28?10:51??實驗2:迷宮問題\bin\Debug\迷宮.exe
?????文件????????1940??2019-05-28?10:50??實驗2:迷宮問題\main(1表示通路).cpp
?????文件?????2026596??2019-05-28?10:51??實驗2:迷宮問題\main(1表示通路).exe
?????文件?????2026576??2019-05-28?10:51??實驗2:迷宮問題\main.exe
?????目錄???????????0??2019-05-28?10:51??實驗2:迷宮問題\obj\
?????目錄???????????0??2019-05-28?10:51??實驗2:迷宮問題\obj\Debug\
?????文件???????86685??2019-05-28?10:51??實驗2:迷宮問題\obj\Debug\main.o
?????文件????????1068??2019-05-28?10:50??實驗2:迷宮問題\迷宮.cbp
?????文件?????????164??2019-05-28?10:50??實驗2:迷宮問題\迷宮.depend
?????文件?????????358??2019-05-28?10:50??實驗2:迷宮問題\迷宮.layout
?????目錄???????????0??2019-05-28?10:50??實驗3:霍夫曼編碼\
?????文件??????197845??2019-05-28?10:50??實驗3:霍夫曼編碼\-361c723c8e5de72f.jpg
?????文件??????226680??2019-05-28?10:50??實驗3:霍夫曼編碼\-7cd36c4ea8f99412.jpg
?????文件?????????176??2019-05-28?10:50??實驗3:霍夫曼編碼\BiTree?.h
?????文件????????6744??2019-05-28?10:50??實驗3:霍夫曼編碼\CodeFile.txt
?????文件????????1627??2019-05-28?10:50??實驗3:霍夫曼編碼\CodePrin.txt
?????目錄???????????0??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\
?????文件???????21297??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.41.obj
?????文件???????21212??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.42.obj
?????文件???????33349??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.43.obj
?????文件??????161712??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.47.obj
?????文件??????161690??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.49.obj
?????文件??????158607??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.65.obj
?????文件???????32930??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\6.69.obj
?????文件??????260626??2019-05-28?10:51??實驗3:霍夫曼編碼\Debug\fun_huffman.obj
............此處省略33個文件信息
評論
共有 條評論