基本信息
源码名称:有序表实现多项式相加
源码大小:2.51KB
文件格式:.zip
开发语言:C/C++
更新时间:2021-08-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


#include<iostream>
#include"DXSH.h"
using namespace std;
int main()
{
    LinkList LA,LB;
    int textA1[]={4,7,10,18,21,40,56};
    int textA2[]={6,-3,-3,2,5,-1,-5};
    int textB1[]={7,9,18,21,40,68,70,100};
    int textB2[]={3,1,-2,-2,1,5,1,1};
    int lena1=sizeof(textA1)/sizeof(textA1[0]);//求出一维数组长度语句一
    int lena2=sizeof(textA2)/sizeof(int);//求出一维数组长度语句二
    int lenb1=sizeof(textB1)/sizeof(textB1[0]);//求出一维数组长度语句一
    int lenb2=sizeof(textB2)/sizeof(int);//求出一维数组长度语句二
    if(lena1!=lena2||lenb1!=lenb2) cout<<"error"<<endl;
    //LB=Create_L(text1,text2,lena1);
    int *A1=new int[lena1];//相比之下A1,A2是动态分配内存
    int *A2=new int[lena2];
    int *B1=new int[lenb1];//相比之下B1,B2是动态分配内存
    int *B2=new int[lenb2];
    for(int i=0;i<=lena1-1;i )
    {
        A1[i]=textA1[i];
        A2[i]=textA2[i];
    }
    for(int i=0;i<=lenb1-1;i )
    {
        B1[i]=textB1[i];
        B2[i]=textB2[i];
    }
    LA=Create_L(A1,A2,lena1);
    LB=Create_L(B1,B2,lenb1);
    cout<<"带头结点的循环有序表A(第一行为次数,第二行为系数):"<<endl;
    Traverse_L(LA);
    cout<<"带头结点的循环有序表B(第一行为次数,第二行为系数):"<<endl;
    Traverse_L(LB);
//实现两个带头结点的循环有序链表的并,同时合并同类项
    Union_OL(LA,LB);
    cout<<"完成第一步合并同类项的运算之后:"<<endl;
    Traverse_L(LA);
//剔除系数为零的项
    int t;
    t=Locate_OL(LA);//若LA->data2中无0,则返回t=0
    //cout<<"\n"<<t<<endl;
    while(t)
    {
        Delete_OL(LA);
        t=Locate_OL(LA);
        //cout<<"\n"<<t<<"\n";
    }
    cout<<"完成第二步剔除系数为零的运算之后:"<<endl;
    Traverse_L(LA);
}