老是出现 a=create1(n)
NameError: name 'create1' is not defined
到底是怎么回事
import time
class LinkNode: # 单链表结点类
def __init__(self, data=None): # 构造函数
self.size = None
self.data = data
self.next = None
self.head = LinkNode()
self.head.next = None
def create1(self, a): # 建立顺序表
a = []
for i in range(0, len(a)):
self.data[self.size] = a[i]
def Append(self, item): # 插入元素item在表尾
self.data.append(item)
def create2(self, n): # 尾插法建立单链表
h = LinkNode()
t = self.head
for i in range(0, len(n)):
s = LinkNode(n[i])
t.next = s
t = s
t.next = None
def reverse1(a): # 求顺序表逆置的时间
t1 = time.time() # 获取开始时间
i, j = 0, len(a) - 1
while i < j:
a[i], a[j] = a[j], a[i]
i, j = i + 1, j - 1
t2 = time.time() # 获取结束时间
return t2 - t1
def reverse2(self, h): # 求单链表表逆置的时间
t1 = time.time() # 获取开始时间
if h is None or h.next is None:
return
c = h.next.next
h.next.next = None
while c is not None:
p = c.next
c.next = h.next
h.next = c
c = p
t2 = time.time() # 获取结束时间
return t2 - t1
from LinkNode import LinkNode
if __name__ == '__main__':
n=10000000 #主程序
a=create1(n)
h=create2(n)
print()
print(" 求解结果")
print(" 顺序表逆置时间: %.2f" %(reverse1(a)))
print(" 单链表逆置时间: %.2f" %(reverse2(h)))
print()