数据结构实验课(全部题目+完整代码+实验报告).zip
数据结构实验课(全部题目+全部完整代码+全部实验报告)
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 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:迷宫问题in
目录 0 2019-05-28 10:51 实验2:迷宫问题inDebug
文件 88804 2019-05-28 10:51 实验2:迷宫问题inDebug迷宫.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:迷宫问题objDebug
文件 86685 2019-05-28 10:51 实验2:迷宫问题objDebugmain.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:霍夫曼编码Debug6.41.obj
文件 21212 2019-05-28 10:51 实验3:霍夫曼编码Debug6.42.obj
文件 33349 2019-05-28 10:51 实验3:霍夫曼编码Debug6.43.obj
文件 161712 2019-05-28 10:51 实验3:霍夫曼编码Debug6.47.obj
文件 161690 2019-05-28 10:51 实验3:霍夫曼编码Debug6.49.obj
文件 158607 2019-05-28 10:51 实验3:霍夫曼编码Debug6.65.obj
文件 32930 2019-05-28 10:51 实验3:霍夫曼编码Debug6.69.obj
文件 260626 2019-05-28 10:51 实验3:霍夫曼编码Debugfun_huffman.obj
............此处省略33个文件信息
#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(“内存分配失败!
“);
return NULL;
}
head->coef =0.0;
head->expn =0;
head->next =NULL;
printf(“
请输入多项式的系数和指数(输入0 0结束):
“);
//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(“内存分配失败!
“);
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(“
“);
B=CreatePoly();
printf(“B(x)=“);
Printpoly (B);
printf(“
“);
C=multiply(AB);
printf(“C(x)=“);
Printpoly (C);
printf(“
“);
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:迷宫问题in
目录 0 2019-05-28 10:51 实验2:迷宫问题inDebug
文件 88804 2019-05-28 10:51 实验2:迷宫问题inDebug迷宫.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:迷宫问题objDebug
文件 86685 2019-05-28 10:51 实验2:迷宫问题objDebugmain.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:霍夫曼编码Debug6.41.obj
文件 21212 2019-05-28 10:51 实验3:霍夫曼编码Debug6.42.obj
文件 33349 2019-05-28 10:51 实验3:霍夫曼编码Debug6.43.obj
文件 161712 2019-05-28 10:51 实验3:霍夫曼编码Debug6.47.obj
文件 161690 2019-05-28 10:51 实验3:霍夫曼编码Debug6.49.obj
文件 158607 2019-05-28 10:51 实验3:霍夫曼编码Debug6.65.obj
文件 32930 2019-05-28 10:51 实验3:霍夫曼编码Debug6.69.obj
文件 260626 2019-05-28 10:51 实验3:霍夫曼编码Debugfun_huffman.obj
............此处省略33个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)