资源简介
数据结构实验课(全部题目+全部完整代码+全部实验报告)
代码片段和文件信息
#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) < k )
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个文件信息
相关资源
- 哈夫曼树实现图片压缩与解压
- 车辆保险管理系统
- 算法导论第三版英文原版
- CTP接口及开发文档.zip
- VxWorks及Tornado集成开发环境的使用
- 炫彩界面库帮助文档chm-v2.5.0
- vc实用教程第三版+郑阿奇
- 嵌入式华清远见培训 ARM代码内部资料
- VLD For VS2019
- 网上鲜花销售系统完整代码
- Qt中嵌入Excel
- VS2010写的连连看
- Clion+Qt 运行的
- 超市进销存管理系统需要数据库
- 一维信号的小波变换算法.rar
- Botan库 已经在windows下编译好的32位B
- 基于VS2008的可视化时钟
- 简易抽奖软件含源码
- opengl实现太阳系动态模型,地球,月
- [epub] 像程序员一样思考修订版
- glfw-3.2.1源码(需要自行编译)
- 广工信工图像处理作业
- opengl 实现的机器人行走
- 变网格步长声波方程有限差分数值模
- GMM模型实现
- Read_Ionex.rar
- QT实现图书馆管理系统
- 武汉理工大学数据结构与算法实验,
- 游戏编程 C小程序 猫捉老鼠
- 开源写日志库 easylogging
评论
共有 条评论