社区
C语言
帖子详情
帮看一个数据结构的问题
vitamines
2004-06-26 11:08:38
将一个循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式中各自仅含奇次项和偶次项,要求利用原来的循环链表的结点空间构成着两个链表
希望能给出代码
...全文
162
7
打赏
收藏
帮看一个数据结构的问题
将一个循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式中各自仅含奇次项和偶次项,要求利用原来的循环链表的结点空间构成着两个链表 希望能给出代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qingdaolitao
2004-06-27
打赏
举报
回复
建议你将属性link换成next,first换成head舒服点。
另外,用不着用循环链表,单链表就可以把。
qingdaolitao
2004-06-27
打赏
举报
回复
重写了Classify(),其他的用你的function,对否?
void CircList::Classify( )
{
CircList oddlist,evenlist; //构造奇偶项的头结点。
CircListNode * p=first->link; //指向原多项式第一项。
CircListNode * q=p; //指向p
for(;p!=first;p=q->link) {
q=p;
if(p->exp%2==1){
//oddlist.Insert(p->coef,p->exp); 调用insert会重新new出一个结点,没利用原结点。
p->link=oddlist.getfirst()->link ;
oddlist.getfirst()->link =p;
}
else{
//evenlist.Insert(p->coef,p->exp); 同上。
p->link=evenlist.getfirst()->link ;
evenlist.getfirst()->link=p;
}
}
oddlist.last =oddlist.getlast ();
evenlist.last =evenlist.getlast ();
display( );
}
qingdaolitao
2004-06-27
打赏
举报
回复
收藏,修改中。。。
vitamines
2004-06-27
打赏
举报
回复
有没有行啊?
qingyuan18
2004-06-26
打赏
举报
回复
“一个循环链表表示的稀疏多项式”,
怎么表示的?
vitamines
2004-06-26
打赏
举报
回复
#include <iostream.h>
class CircList;
class CircListNode {
friend class CircList;
public:
CircListNode ( int xcoef = 0,int xexp=0,CircListNode *next = NULL )
: coef (xcoef),exp(xcoef),link (next){ } //构造函数private:
private:
int coef;
int exp; //结点数据
CircListNode *link; //链接指针
};
class CircList {
private:
CircListNode *first, *last;
//链表的表头指针、当前指针和表尾指针
public:
CircList( );
void Classify( );
void Insert(int xcoef,int xexp);
CircListNode * geteven( );
void display( );
CircListNode * getfirst( );
void link(CircList & list1);
CircListNode * getlast( );
};
void CircList::Insert(int xcoef,int xexp)
{
CircListNode *p=new CircListNode(xcoef,xexp,first);
last->link=p;
last=p;
}
CircList::CircList( )
{
first=last=new CircListNode(0,0,NULL);
first->link=last;
last->link=first;
}
CircListNode * CircList::geteven( )
{
Classify( );
CircListNode *p=first->link;
while(p!=first&&((p->exp)%2==1))
{
p=p->link;
}
if((last->exp%2)==1) p=NULL;
return p;
}
void CircList::display( )
{
CircListNode * p=first->link;
for(;p!=first;p=p->link)
cout<<"("<<p->coef<<","<<p->exp<<") ";
}
CircListNode * CircList::getfirst( )
{
return first;
}
void CircList::Classify( )
{
CircList oddlist,evenlist;
CircListNode * p=first->link;
for(;p!=first;p=p->link)
{
if(p->exp%2==1) oddlist.Insert(p->coef,p->exp);
else evenlist.Insert(p->coef,p->exp);
}
oddlist.link(evenlist);
CircListNode * q=oddlist.getfirst( );
p=first->link;
q=q->link;
for(;p!=first;p=p->link)
{
p->coef=q->coef;
p->exp=q->exp;
q=q->link;
}
display( );
}
void CircList::link(CircList & list1)
{
last->link=list1.getfirst( )->link;
list1.getlast( )->link=first;
}
CircListNode * CircList::getlast( )
{
CircListNode *p=first->link;
for(;p!=first;p=p->link)
;
return p;
}
vitamines
2004-06-26
打赏
举报
回复
2x43+3x30+6x29+8x18+...+...
学习网站
Google 1. Android 开放源代码 https://source.android.com/ 中国:https://source.android.google.cn/ 2. Android 源码 GitHub镜像: https://github.com/aosp-mirror 源码: https://android.googlesource...
android视频开发面试!腾讯3轮面试都问了Android事件分发,大厂面试题汇总
开头 在Android开发当中,相信大家对第三方库的重要性是无需多说的,尤其是三方库源码更是重中之重,而EventBus源码就属于其中的
一个
重点。 EventBus是安卓(Java中也可以用)开发中非常流行的
一个
第三方库,是一种发布/订阅事件的总线. 想必每个入了门的Android开发者都多少对EventBus有过了解,EventBus是
一个
Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递。EventBus使用简单,并将事件发布和订阅充分解耦,从而使代码更简洁。一直以来
Android学习链接大放送
虽然贴链接这种事情。。真是一种很偷懒的做法。。。 但是我
一个
小菜鸟,果断还是要以多向别人学习为主。。。 好资源要和大家分享对不对! 况且。。放博客里。。比收藏夹的利用几率要大一点! 原作者应该也很喜欢我这种贴链接打广告的做法吧。。。嗯。。。 不断更新中,加油! 官方网站: http://www.android.com/ http://de...
android 手机测试
一、应用层:1. Android developer网站http://developer.android.comAndroid developer网站提供了熟悉Android系统最权威的资料,这里包含了Android所有概念的详细解释。2. Android SDK示例程序AndroidSDK示例程序,位于sdk/samples目录下,提供了大量的案例程序(demo...
【Android高级进阶】论
一个
普通大学电子商务大三学生,flutter项目案例
**面试官:**点点头,似乎觉得还可以。学过C/C++吗? **我:**很尴尬,作为
一个
电子商务专业的学生很怕被问到这个
问题
,不过还是如实地向他说明情况,没学过C/C++,但是学过JAVA,
数据结构
、算法、计算机网络,并且我在自学操作系统。 **面试官:**显然很惊讶没有学过C,但是考虑到是Android开发,所以也就没多为难我,并且了解到我自学操作系统露出了笑容,接着让我说一下算法。 **我:**咳 ???? ,算法准备的不是很充分,所以鸡贼的向他讲了最简单的冒泡排序,还没讲完他就频频点头。舒了一口气。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章