1)用单链表表示一元多项式,并实现一元多项式的输入和输出。 如: 2)在 1)的基础上,建立一个函数,计算并返回一元多项式中一共有多少项数据。 3)在 1)的基础上,建立一个函数,可以得到一元多项式中指数最大的系数并打印输出。 4)在 1)的基础上,建立一个函数,输入系数和指数,如果元素存在,则删除之,否则打印出错信息。
时间: 2023-05-21 21:06:29 浏览: 86
(数据结构与算法)一元多项式求和---单链表的应用
1)以下是用单链表表示一元多项式的代码:
```python
class Node:
def __init__(self, cof, index):
self.cof = cof
self.index = index
self.next = None
class Polynomial:
def __init__(self):
self.head = Node(None, None)
def input(self):
cof = int(input("请输入系数(-1表示输入结束)"))
while cof != -1:
index = int(input("请输入指数:"))
if cof != 0:
node = Node(cof, index)
p = self.head
while p.next and p.next.index > index:
p = p.next
if p.next and p.next.index == index:
p.next.cof += cof
if p.next.cof == 0:
p.next = p.next.next
else:
node.next = p.next
p.next = node
cof = int(input("请输入系数(-1表示输入结束)"))
def output(self):
p = self.head.next
while p:
print(p.cof, "x^", p.index, end='')
p = p.next
if p:
print("+", end='')
print('')
```
2)以下是计算并返回一元多项式中一共有多少项数据的函数:
```python
def count(self):
p = self.head.next
count = 0
while p:
count += 1
p = p.next
return count
```
3)以下是得到一元多项式中指数最大的系数并打印输出的函数:
```python
def max_cof(self):
p = self.head.next
max_cof = p.cof
while p:
if p.cof > max_cof:
max_cof = p.cof
p = p.next
print("指数最大的系数为:", max_cof)
```
4)以下是输入系数和指数,如果元素存在,则删除之,否则打印出错信息的函数:
```python
def delete(self, cof, index):
p = self.head
while p.next and p.next.index > index:
p = p.next
if not p.next or p.next.index != index:
print("该元素不存在")
else:
if p.next.cof == cof:
p.next = p.next.next
else:
p.next.cof -= cof
if p.next.cof == 0:
p.next = p.next.next
```
阅读全文