资源简介

一元稀疏多项式计算器 数据结构课程设计,包含实验报告,实验报告内包含E-R图,对数据的分析. 这是个关于数据结构的简单设计! 内容简单!

资源截图

代码片段和文件信息

#include 
#include 
#include
using namespace std;
typedef struct Polynomial
{
    int coef;                 //系数
    int expn;                 //指数
    struct Polynomial *next;  //指针
}*PolynPolynomial;
Polyn papbpdps;
Polyn CreateLine(Polyn headchar str); //功能 :   输入A B的表达式
void Output(Polyn Mchar date);        //功能 :  输出A或B的表达式
Polyn Output_A_add_B(Polyn p);         //功能 :   输出 A + B的表达式
Polyn Output_A_sub_B(Polyn p);         //功能 :   输出 A - B的表达式
void Insert(Polyn pPolyn h);          //功能 :   数据的输入
void show1();                          //功能 :   主菜单显示
void show2();                          //功能 :   选择A 或 B的页面
void menu();                           //功能 :   主菜单

Polyn CreateLine(Polyn headchar str)  //建立一个头指针为head、项数为m的一元多项式
{
    int     i a;
    Polyn   p;
    cout <<“请输入“<    cin >>a;

    p=head=(Polyn)malloc(sizeof(struct Polynomial));
    head->next=NULL;
    for(i=0;i {
        p=(Polyn)malloc(sizeof(struct Polynomial));  //建立新结点以接收数据
        cout <<“请输入第“<        cin >>p->coef>>p->expn;
        Insert(phead);                              //调用Insert函数插入结点
}
cout <<“录入信息成功!“<
    return head;
}

void Output(Polyn Mchar date)         //输出函数  已完成
{
    Polyn L=M;
    L=L->next;
    if(L==NULL)
    {
        cout <    }
    else {
        cout <        while(L->next!=NULL)
        {
            cout<coef<<“*X^“<expn;L=L->next;
            if(L!=NULL)
            {
                if(L->coef >0)
                {
                    cout<<“+“;
                }
            }
        }
        cout<coef<<“*X^“<expn<<“;“<    }

}

void Insert(Polyn pPolyn h)           //功能 :   数据的输入
{
    if(p->coef==0) free(p);       //系数为0的话释放结点
    else
{
        Polyn q1q2;
        q1=h;
q2=h->next;
        while(q2&& p->expn < q2->expn)
{                        //查找插入位置
            q1=q2;
            q2=q2->next;
}
        if(q2&& p->expn == q2->expn)
{                        //将指数相同相合并
            q2->coef += p->coef;
            free(p);
            if(!q2->coef)
{                    //系数为0的话释放结点
                q1->next=q2->next;
                free(q2);
}
q2=NULL;
}
        else
{                       //指数为新时将结点插入
            p->next=q2;
            q1->next=p;q2=NULL;
}
}
}

Polyn Output_A_add_B(Polyn p)          //功能 :   输出 A+ B的表达式            //   已完成
{
    Polyn LaLbpc;
    La=pa->next;Lb=pb->next;
    // pc=La;
    pc=pd=(Polyn)malloc(sizeof(struct Polynomial));
    pd->next=NULL;
    while(La!=NULL && Lb!=NULL)
    {
        if(La->expn==Lb->expn)
        {
            int a=La->coef;
            a += Lb->coef;
            Polyn q=(Polyn)malloc(sizeof(struct Polynomial));
            q->coef=a;
            q->expn=La->expn;
            pc->nex

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       11187  2017-06-19 17:13  一元稀疏多项式计算器(数据结构课程设计)\数据结构完整版.cpp
     文件      212314  2018-06-11 20:00  一元稀疏多项式计算器(数据结构课程设计)\一元稀疏多项式计算器.docx

评论

共有 条评论