数组
def sortL(n):
for i in range(len(n)):
m=i
for j in range(i,len(n)):
if n[j]<n[m]:
m=j
n[i],n[m]=n[m],n[i]
return n
链表
def sortL(n):
if not n or not n.next:
return n
l=ListNode(0)
p=l.next=n
pre1=l
while p.next:
pre2=pre3=m=p
t=p.next
while t:
if t.val<m.val:
m=t
pre3=pre2
pre2=t
t=t.next
if pre3==p:
p.next.next=m.next
m.next=p
pre1.next=m
pre1=pre1.next
p=pre1.next
else:
s=p.next
p.next=m.next
pre3.next=p
pre1.next=m
m.next=s
pre1=pre1.next
p=pre1.next
return l.next