zoukankan      html  css  js  c++  java
  • 多项式ADT的数组实现

    /*删除表的正确方法*/
    /*assume header*/
    void
    DeleteList(List L)
    {
        Position p,Tmp;
        p=L->Next;
        while(p != NULL)
        {
            Tmp=p->Next;
            free(p);
            p = Tmp;
        }
    }//先free掉,然后再判断这个结点的Next是不是NULL,是就不做了
    /*多项式ADT*/
    /*多项式数组实现的类型声明*/
    /*一个结构就可以表示。一个多项式*/
    typedef struct{
        CoeffArray[MaxDegree+1];
        int HighPower;//表示这个数组的最高次
    } * Polynomial;
    /*将多项式初始化为0*/
    void
    ZeroPolynomial(Polynomial Poly)
    {
        for(i=0;i <= MaxDegree ;i++)
        {
            Poly->CoeffArray[i]=0;
        }
        Poly->HighPower = 0;
    }
    /*两个多项式相加的过程*/
    void
    AddPolynomial(Polynomial Poly1,Polynomial Poly2,Polynomial PolySum)
    {
        ZeroPolynomial(PolySum);
        MaxPower=Max2(Poly1->HighPower,Poly2->HighPower);
        for(i=0;i<=MaxPower;i++)
        {
            PolySum->CoeffArray[i] = Poly1->CoeffArray[i] + Poly2->CoeffAyyay[i];
        }
        PolySum->HighPower=MaxPower;
    }
    /*两个多项式相乘的过程*/
    void
    MultPolynomial(Polynomial Poly1,Polynomial Poly2,Polynomial PolyProd)
    {
        ZeroPolynomial(PolyProd);
        PolyProd->HighPower = Poly1->HighPower * Poly2->HighPower;
        for(int i=0; i <= Poly1->HighPower; i++)
        {
            for(int j=0; j <= Poly2->HighPower; j++)
            {
                PolyProd->CoeffArray[i+j] += Poly1->CoeffArray[i] * Poly2->CoeffArray[j];
            }
        }
    }
    View Code
  • 相关阅读:
    Android中得到布局文件对象有三种方式
    android中的键值对
    .length()与.length与.size()
    异常处理
    Python操作Excel
    写一个简单的爬虫(博客)
    开发一个登录接口(Mysql)
    常用模块
    内置函数
    装饰器
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4603455.html
Copyright © 2011-2022 走看看