例如:Node(element,next)
给的是Node(3,Node(1,Node(2)))
然后做出来的排序是Node(1,Node(2,Node(3)))
要求只能使用一个方法
想了好久也想不出代码...望CSDN各位大佬解答
例如:Node(element,next)
给的是Node(3,Node(1,Node(2)))
然后做出来的排序是Node(1,Node(2,Node(3)))
要求只能使用一个方法
想了好久也想不出代码...望CSDN各位大佬解答
# encoding: utf-8
class Node:
def __init__(self, e, n):
self.element = e
self.next = n
def printlist(self):
print(self.element)
if self.next != None:
self.next.printlist()
def order(self):
m = self
curr = self.next
while curr != None:
if curr.element < m.element:
m = curr
curr = curr.next
if m != self:
t = self.element
self.element = m.element
m.element = t
if (self.next != None):
self.next.order()
list = Node(3, Node(1, Node(2, None)))
list.order();
list.printlist()
1
2
3