链表实现一元多项式创建的另两种做法

来源:互联网 发布:数学知乎精华 编辑:程序博客网 时间:2024/06/11 00:37

先声明,本人菜鸟,写的不对还请指出,望赐教。


这几天看了严蔚敏《数据结构》,看到用链表来实现一元多项式,其中有个函数是OrderInsert(),即按expn指数值升序插入,但是参数要用到函数指针,(书上函数为OrderInsert(LinkList &L),Elemtype e,int (*compare)(ElemType ,ElemType))但是函数指针我怎么写都是报错,现在还没搞明白,报错初始化有问题。所以我想还有一种可行的办法

一。只用一个参数:利用双向链表来实现,将指针p定位到链表的最后一个结点,从后往前遍历。比前一个大,则加入这个结点;比前一个小,则往前遍历,直到比前一个大为止,插入;若相等,则直接加上这个结点的系数。

二。需要两个参数:我称之为两两比较法,即要插入的结点与前一个结点比较,要插入的结点expn大,则直接插入;若相等,则系数想加,若小,则从前往后遍历,找到合适的结点插入。