数据结构_链表_多项式求导_C++实现

"head.h"


#include<iostream> #include<string> using namespace std; class NODE { public: NODE(); int coef; int exp; NODE *next; }; NODE::NODE() { coef=exp=0; next=NULL; } class DATA { public: DATA(); void GetPoly(); void Derivation(); void Print(); private: NODE *head,*p,*pre; int coef,exp; }; DATA::DATA() { pre=head=p=NULL; coef=exp=0; } void DATA::GetPoly() { cout<<"GetPoly Called !"<<endl<<endl; cout<<"Please Input polynomial :"<<endl<<endl; bool first=true; while(cin>>coef>>exp) { if(first) { head=new NODE; head->coef=coef; head->exp=exp; p=head; first=!first; } else { p->next=new NODE; p=p->next; p->coef=coef; p->exp=exp; } } cin.clear(); } void DATA::Derivation() { cout<<"Derivation Called !"<<endl<<endl; if(head==NULL) { cout<<"No Data !"<<endl<<endl; return; } else { pre=p=head; while(p!=NULL) { if(p->exp==0) { if(p==head) { head=head->next; delete p; pre=p=head; } else { pre->next=p->next; delete p; p=pre->next; } } else { p->coef*=p->exp; p->exp--; pre=p; p=p->next; } } } } void DATA::Print() { cout<<"Print Called !"<<endl<<endl; if(head==NULL) { cout<<"No Data !"<<endl<<endl; return; } p=head; cout<<p->coef; if(p->exp!=0) cout<<"x^"<<p->exp; p=p->next; while(p!=NULL) { cout<<"+"<<p->coef; if(p->exp!=0) cout<<"x^"<<p->exp; p=p->next; } cout<<endl<<endl<<endl; }



"main.cpp"



#include"head.h" int main() { DATA data; data.GetPoly(); data.Print(); data.Derivation(); data.Print(); system("pause"); return 0; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值