def Insert(self, i, e): #在线性表中序号i位置插入元素e assert i>=0 #检测参数i正确性的断言 s=LinkNode(e) #建立新结点s if (i==0): #插入作为首结点 s.next=self.head.next self.head.next=s else: p=self.geti(i-1) #找到序号为i-1的结点p assert p!=self.head #p不为头结点的检测 s.next=p.next #在p结点后面插入s结点 p.next=s def Delete(self,i): #在线性表中删除序号i位置的元素 def display(self): #输出线性表 p=self.head.next #首先p指向首结点 while p!=self.head: print(p.data,end=' ') p=p.next print()
时间: 2024-01-19 21:03:15 浏览: 187
好的,下面是Insert方法和display方法的代码实现:
```
def Insert(self, i, e): #在线性表中序号i位置插入元素e
assert i>=0 #检测参数i正确性的断言
s = LinkNode(e) #建立新结点s
if i==0: #插入作为首结点
s.next = self.head.next
self.head.next = s
else:
p = self.geti(i-1) #找到序号为i-1的结点p
assert p != self.head #p不为头结点的检测
s.next = p.next #在p结点后面插入s结点
p.next = s
def display(self): #输出线性表
p = self.head.next #首先p指向首结点
while p != self.head:
print(p.data, end=' ')
p = p.next
print()
```
Insert方法会在线性表的第i个位置插入元素e。如果i=0,那么新插入的元素将会成为线性表的第一个元素。具体实现方法是,先检测参数i的正确性,然后新建一个存放e元素的结点s。如果i=0,那么将s结点插入到头结点之后;否则,找到序号为i-1的结点p,然后将s结点插入到p结点之后。
display方法会将线性表中的元素输出。具体实现方法是,从头结点的下一个结点开始遍历链表,依次输出每一个结点的data属性。
阅读全文