/*单链表模块*/ void InitPolylist(Polylist *L); Polylist CreatePolylist(); /*输入多项式的系数和指数,用尾插法建立一元多项式的链表*/ int LengthPolylist(Polylist L); void OutputPolylist(Polylist L); Polylist AddPolylist();/*创建两个多项式并相加,完成后显示序列*/ void ComputePolylist(Polylist L);/*计算多项式在x=%d的值*/ void DestroyPolylist(Polylist L); /*注解1:形式参数Polylist L是链表的头指针*/
时间: 2023-09-13 22:10:20 浏览: 44
/*单链表模块*/
void InitPolylist(Polylist *L);
Polylist CreatePolylist(); // 输入多项式的系数和指数,用尾插法建立一元多项式的链表
int LengthPolylist(Polylist L);
void OutputPolylist(Polylist L);
Polylist AddPolylist(); // 创建两个多项式并相加,完成后显示序列
void ComputePolylist(Polylist L); // 计算多项式在x=%d的值
void DestroyPolylist(Polylist L);
/*注解1:形式参数Polylist L是链表的头指针*/
相关问题
/*主函数模块*/ int main() { H=AddPolylist(); ComputePolylist(H); OutputPolylist(H); DestroyPolylist(H); return 0; } /* 请在这里填写答案 */ /*单链表模块*/ void InitPolylist(Polylist *L) { } Polylist CreatePolylist()/*输入多项式的系数和指数,用尾插法建立一元多项式的链表*/ { }
/*主函数模块*/
int main() {
Polylist H; // 定义一元多项式链表头结点
InitPolylist(&H); // 初始化链表
H = CreatePolylist(); // 建立链表
ComputePolylist(H); // 计算链表中多项式的值
OutputPolylist(H); // 输出链表中多项式的值
DestroyPolylist(H); // 销毁链表
return 0;
}
/*单链表模块*/
void InitPolylist(Polylist *L) {
(*L) = NULL; // 初始化链表为空
}
Polylist CreatePolylist() {
Polylist H, p, q;
int n, i;
float a, b;
printf("请输入多项式的项数:");
scanf("%d", &n);
InitPolylist(&H); // 初始化链表
q = H; // q指向链表头结点
for (i = 1; i <= n; i++) {
printf("请输入第%d项的系数和指数:", i);
scanf("%f%f", &a, &b);
p = (Polylist)malloc(sizeof(PolyNode)); // 创建新节点
p->coef = a;
p->expn = b;
q->next = p; // 新节点插入链表尾部
q = p;
}
q->next = NULL; // 链表尾部指针置空
return H; // 返回链表头节点
}
void·InitPolylist(Polylist·*L)函数的意思和作用
函数 `void InitPolylist(Polylist *L)` 的作用是对一个多项式链表进行初始化,即将其头结点的各个指针域全部置为 NULL,表示该链表为空。
其中,`Polylist` 是一个结构体类型,定义了多项式链表的结构,包括:
- `PolyNode *head`:指向链表头结点的指针;
- `PolyNode *tail`:指向链表尾结点的指针;
- `int len`:链表的长度。
而 `PolyNode` 结构体则定义了多项式链表的结点,包括:
- `double coef`:结点的系数;
- `int expn`:结点的指数;
- `PolyNode *next`:指向下一个结点的指针。
因此,函数 `void InitPolylist(Polylist *L)` 的实现可以通过以下代码完成:
```
void InitPolylist(Polylist *L) {
L->head = L->tail = (PolyNode *) malloc(sizeof(PolyNode)); // 创建头结点
L->head->next = NULL; // 头结点的指针域置为 NULL
L->len = 0; // 链表长度初始化为 0
}
```
这样,当我们需要使用一个多项式链表时,就可以先调用该函数进行初始化,然后再进行其他操作,如插入结点、删除结点、遍历链表等。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)