数据结构c语言版多项式管理,求大神解答

1.构建实例,简单复杂无所谓。2.定义数据的数据结构3.采用单链表存放,定义单链表的数据结构;4.基本操作至少实现:建立单链表,读入数据;数据读出,查找,插入,删除;请根... 1. 构建实例,简单复杂无所谓。
2. 定义数据的数据结构
3. 采用单链表存放,定义单链表的数据结构;
4. 基本操作至少实现:建立单链表,读入数据;数据读出,查找,插入,删除;
请根据自己选题,设定一个新的操作,例如多项式相加相减,求导
展开
 我来答
ksyed852
2019-06-18 · 超过56用户采纳过TA的回答
知道小有建树答主
回答量:285
采纳率:66%
帮助的人:25.3万
展开全部
//链式存储实现多项式
#include <stdio.h>
#include <stdlib.h>
typedef struct term *link;
struct term
{
int c; //系数
int e; //指数
link next;
};
typedef struct
{
link head; //头指针
link tail; //尾指针
}*poly_t;

link TERM(int c, int e)
{
link t = malloc(sizeof *t);
t->c = c;
t->e = e;
t->next = NULL;
return t;
}

poly_t poly_init()
{
poly_t p = malloc(sizeof *p);
p->head = p->tail = TERM(0, 0);
return p;
}

void term_read(poly_t p)
{
int i, n;
int c, e;
scanf("%d\n", &n);
for(i = 0; i < n; i++)
{
scanf("%d_%d\n", &c, &e);
p->tail = p->tail->next = TERM(c, e);
}
}

poly_t poly_destory(poly_t p)
{
link t, x;
for(t = p->head; t; free(t), t = x)
x = t->next;
free(p);
return NULL;
}

void poly_show(poly_t p)
{
link t;
if(p->head == p->tail)
return;
for(t = p->head->next; t != p->tail; t = t->next)
{
printf("%dX^%d_%c_", (t->c > 0) ? (t->c) : (-t->c), t->e, (t->next->c > 0) ? '+' : '-');
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式