2、void Attach(int c, int e, PtrToNode *pRear); 设计函数功能:在结果表达式最后插入一个新的结点。共三个参数传入,第一个参数c为新结点的系数,第二个参数e为新结点的指数,第三个参数为节点指针的地点,该指针指向结果表达式的最后一个结点。
时间: 2023-09-13 10:05:17 浏览: 74
### 回答1:
void Attach(int c, int e, PtrToNode *pRear) {
PtrToNode pNode = (PtrToNode)malloc(sizeof(struct Node));
pNode->coef = c;
pNode->expon = e;
pNode->next = NULL;
(*pRear)->next = pNode;
*pRear = pNode;
}
// 示例用法
PtrToNode rear = poly; // poly为结果表达式的头结点
Attach(3, 4, &rear); // 在结果表达式最后插入一个系数为3,指数为4的结点
### 回答2:
函数Attach的功能是在结果表达式最后插入一个新的结点。函数有三个参数:c表示新结点的系数,e表示新结点的指数,pRear表示指向结果表达式最后一个结点的指针。
函数Attach的实现如下:
1. 首先,创建一个新结点newNode,并为其系数和指数赋值为c和e,将其next指针初始化为NULL。
2. 判断pRear是否为NULL,如果是,则说明结果表达式为空,将pRear指向newNode,并返回。
3. 如果pRear不为空,将pRear指向的结点的next指针指向newNode,使得newNode成为结果表达式的最后一个结点。
4. 更新pRear的指向,将其指向newNode,即pRear = newNode。
函数Attach的实现是将新结点插入到结果表达式的最后位置,并更新pRear指针的指向。通过这个函数,可以动态地向结果表达式中添加新的结点。
例如,假设结果表达式为1x^2 + 2x + 3,现在要在表达式的最后插入一个新的结点,系数为4,指数为1,可以调用Attach(4, 1, &pRear),其中pRear指向3这个结点。调用后,结果表达式更新为1x^2 + 2x + 3 + 4x,pRear指向4x这个结点。
### 回答3:
函数Attach的功能是在结果表达式的最后插入一个新的结点。函数的参数包括新结点的系数c,新结点的指数e,以及指向结果表达式的最后一个结点的指针*pRear。
函数实现的步骤如下:
1. 创建一个新的结点newNode,并为其分配内存空间。
2. 将新结点的系数设置为c,指数设置为e。
3. 判断*pRear是否为空指针,若为空指针,则将新结点设为结果表达式的第一个结点,并将pRear指向该结点。
4. 若*pRear不为空指针,则将新结点插入到*pRear的后面,并更新*pRear指向新结点。
5. 完成插入操作后,返回结果表达式的最后一个结点指针。
函数的代码如下:
```cpp
void Attach(int c, int e, PtrToNode *pRear) {
PtrToNode newNode = (PtrToNode)malloc(sizeof(struct Node));
newNode->coef = c;
newNode->expon = e;
newNode->next = NULL;
if (*pRear == NULL) {
*pRear = newNode;
} else {
(*pRear)->next = newNode;
*pRear = newNode;
}
}
```
希望以上回答能对您有帮助。
阅读全文