在一个带头结点的单链表的指定位置i,增加一个新的元素 e ,若给定的位置不合法则提示插入失败。
例如:单链表 9 5 1 2 3,
指定位置3插入元素4,则 新的单链表为 9 5 4 1 2 3
指定位置7插入元素8,则 提示插入失败。
函数接口定义:
def addi(self, i, e):
if i <= 0:
return False
p = self.head
j = 0
while p is not None and j < i - 1:
j += 1
p = p.next
if p is None or p.next is None and i - 1 != j:
return False
newNode = Node(e)
newNode.next = p.next
p.next = newNode
return True
其中i 和 e 都是用户传入的参数。 L 表示单链表,i表示指定位置,e是待插入元素。函数须返回插入元素后的结果,成功则返回True,不成功则返回False。
裁判测试程序样例:
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkLi