【文件属性】:
文件名称:实验四:线性结构的应用
文件大小:58KB
文件格式:DOC
更新时间:2015-01-13 11:37:19
实验四:线性结构的应用
实验目的 1. 熟练掌握线性表的各种操作;
2. 掌握栈的各种操作;
实验要求 1、线性表中一元多项式相加
2、栈—数制转换和求n!
实验仪器 PC机,C++软件
实验步骤 1.根据实验内容编程,上机调试、得出正确的运行程序。
2. 编译运行程序,观察运行情况和输出结果。
3. 写出实验报告(包括源程序和运行结果)。
实验内容 #include
typedef struct term{
float coef;
int exp;
struct term *next;
}term, *polynom;
void PolyAdd(polynom &ah;, polynom bh)
{
polynom pa,pa1,pb,pb1;
float sum;
int k;
pa1=ah;
pa=ah->next;
pb1=bh;
pb=bh->next;
while(pa!=NULL && pb!=NULL)
{
if(pa->exp>pb->exp)
k=1;
else if(pa->exp==pb->exp)
k=2;
else
k=3;
switch(k)
{ case 1:
pa1=pa; pa=pa->next; break;
case 2:
sum=pa->coef+pb->coef;
if(sum!=0)
{
pa->coef=sum;
pa1=pa;
pa=pa->next;
}
else
{
pa1->next=pa->next;
delete pa;
pa=pa1->next;
}
pb1->next=pb->next;
delete pb;
pb=pb1->next;
break;
case 3:
pa1->next=pb;
pb=pb->next;
pb1->next->next=pa;
pa1=pa1->next;
pb1->next=pb;
}
}
if(pb!=NULL)
pa->next=pb;
delete bh;
}
polynom creat()
{
polynom ah,s;
ah=new term;
ah->next=NULL;
int n1,e,i;float a;
cout<<"请输入A(x)多项式的项数:";
cin>>n1;
cout<<"\n请由低到高输入A(x)多项式的各项:";
for(i=1;i<=n1;i++)
{
cout<<"\n请输入第"<>a;
cout<<"\n请输入第"<>e;
s=new term;
s->coef=a; s->exp=e;
s->next=ah->next;
ah->next=s;
}
return ah;
}
void print(polynom ah)
{
polynom p;
p=ah->next;
float a;int e;
if(p==NULL)cout<<"该单链表是空的!\n";
else do
{
a=p->coef ;e=p->exp ;
cout<next;
if(p!=NULL)
cout<<"+";
}while(p!=NULL);
cout<