| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2328 人关注过本帖
标题:请教数据结构中的一元多项式相加
取消只看楼主 加入收藏
comebaby
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-6-17
收藏
 问题点数:0 回复次数:0 
请教数据结构中的一元多项式相加

以下是把lb指数项跟la指数项相等的相加到la中,把不相同的指数项插入la链表的表尾
(随便附加一个问题:我现在学(c版)数据结构,数据结构中的线性表、栈和队列、串的一些算法,使用相应的容器功能也可以实现,使用容器写代码比较简短、也没有那么复杂,是不是选择容器也程序好一点?)

#include<iostream>

using namespace std;

struct Lnode
{
float xu; //系数
int zu; //指数
struct Lnode *next;
};

Lnode *scanf()
{

int x;
Lnode *head,*pn,*pt;
head=0;
cin>>x;
while(x!=0)
{
pn=new Lnode;
pn->xu=x;
cin>>pn->zu;
if(head==0)
{
head=pn;
pt=pn;
}
else
{
pt->next=pn;
pt=pn;
}
cin>>x;
}
pt->next=0;
return head;

}

Lnode *add(Lnode *lahead,Lnode *lbhead)
{

Lnode *lap,*lbp;
int x=0;
lbp=lbhead;
while(lbp!=0)
{
lap=lahead;
while(lap!=0)
{
if(lbp->zu==lap->zu)
{
lap->xu=lap->xu+lbp->xu;
x=1;
}
if(x==0)
{
//如何把lb链表中跟la链表中不相同的,插入la链表的表尾呢??
}
lap=lap->next;
}

return lahead;

}

void pri(Lnode *head)
{
Lnode *p=head;
while(p!=0)
{
cout<<p->xu<<" "<<p->zu<<" ";
p=p->next;
}
}

int main()
{
Lnode *lahead,*lbhead;
cout<<"请输入第一个一元多项la的系数及指数:";
lahead=scanf();
cout<<endl;
cout<<"请输入第二个一元多项lb的系数及指数:";
lbhead=scanf();
cout<<endl;

cout<<"第一个一元多项la的系数及指数:";
pri(lahead);
cout<<endl;
cout<<"第二个一元多项lb的系数及指数:";
pri(lbhead);
cout<<endl;
cout<<"相加及插入后的la系数及指数:";
lahead=add(lahead,lbhead);
pri(lahead);
cout<<endl;
return 0;
}

搜索更多相关主题的帖子: 数据结构中 多项式 Lnode 相加 指数 
2006-11-12 10:30
快速回复:请教数据结构中的一元多项式相加
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011965 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved