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

以下是把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
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
你的程序我不看了, 就你的问题说说, 在c++ 中, 你可以使用很多他人所开发的容器库, 这给你的程序开发带来很多方便之处, 这一点是显而易见的。 还有, C++ 中提供了现有的字符串类型, 也就是 string, 你可以直接拿来用了, 没有必要再去用 char array 了。 而这些在c 语言中是没有的, 那些容器比如 list, 就需要你自己来 implement.

C++ 讲究的是代码的可重用性, 所以人们开发了那些类, 由于那些基本的数据结构的利用率是极高的, 所以标准制定委员会将那些高效的类接纳了进来, 使之成为了C++ 的一部分。 

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-11-12 13:01
快速回复:请教数据结构中的一元多项式相加
数据加载中...
 
   



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

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