用头插法创建一元多项式(注意:键盘输入的每个结点的指数要从小到大输入)
时间: 2024-05-10 15:13:42 浏览: 75
一个一元多项式的计算器
4星 · 用户满意度95%
好的,以下是用头插法创建一元多项式的代码:
```python
class Node:
def __init__(self, coef, expo, next=None):
self.coef = coef
self.expo = expo
self.next = next
def create_poly():
head = Node(None, None)
while True:
coef = float(input("输入系数:"))
expo = float(input("输入指数:"))
if expo < 0:
break
if coef != 0:
temp = head.next
prev = head
while temp is not None and temp.expo > expo:
prev = temp
temp = temp.next
if temp is not None and temp.expo == expo:
temp.coef += coef
else:
node = Node(coef, expo)
node.next = temp
prev.next = node
return head.next
```
代码中的 `Node` 类表示多项式的每一项,包含系数和指数两个属性。`create_poly` 函数用于创建多项式,按照指数从小到大的顺序读入每个结点,然后用头插法将其插入链表中。最终返回链表的头结点(不包含空头结点)。
阅读全文