用链表来建立和显示两个一元多项式
时间: 2024-05-13 10:15:26 浏览: 58
链表实现一元多项式
好的,我可以帮您解决这个问题。下面是C++语言实现的代码示例:
```cpp
#include <iostream>
using namespace std;
// 定义链表节点
struct Node {
int coef; // 系数
int exp; // 指数
Node* next; // 指向下一个节点的指针
};
// 定义链表类
class LinkedList {
private:
Node* head; // 链表头指针
public:
LinkedList() {
head = NULL;
}
// 插入一个节点到链表尾部
void insert(int coef, int exp) {
Node* newNode = new Node;
newNode->coef = coef;
newNode->exp = exp;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
}
else {
Node* p = head;
while (p->next != NULL) {
p = p->next;
}
p->next = newNode;
}
}
// 显示链表中的所有节点
void display() {
Node* p = head;
while (p != NULL) {
cout << p->coef << "x^" << p->exp << " ";
p = p->next;
}
cout << endl;
}
};
int main() {
LinkedList poly1, poly2;
poly1.insert(3, 2);
poly1.insert(2, 1);
poly1.insert(1, 0);
poly2.insert(4, 3);
poly2.insert(1, 1);
poly2.insert(2, 0);
poly1.display();
poly2.display();
return 0;
}
```
在这个示例中,我们定义了一个链表类 `LinkedList` 和一个链表节点结构体 `Node`,并实现了插入和显示链表中的节点的功能。我们通过创建两个链表 `poly1` 和 `poly2` 来表示两个一元多项式,然后调用它们的 `display` 函数来显示它们的内容。
您可以根据实际需求修改这个示例代码,比如添加删除节点、合并链表等功能。
阅读全文