利用python实现简单选择排序
1.代码实现
首先通过自己定义类来实现简单选择排序
class Node(object):
def __init__(self,data):
self.data=data
self.next=None
class LinkedList(object):
#初始化头结点
def __init__(self):
self.top=Node('')
#创建单链表
global list1
def CreatList(self):
print('请输入数据后按回车键确认,若想结束请输入"#"。')
cNode = self.top
element = input('请输入一个数字:')
list1 = []
while element != '#':
list1.append(int(element))
num = Node(int(element))
cNode.next = num
cNode = cNode.next
element = input('请输入一个数字:')
return list1
# 打印链表自身元素
def PrintList(self):
cNode = self.top.next
while cNode != None:
print(cNode.data, end=' ')
cNode = cNode.next
print()
#简单选择排序
def SimpleSelectSort(self):
seqlist=self.CreatList()
print('初始链表的所有值:')
self.PrintList()
list2=[]
for i in range(0,len(seqlist)):
x=min(seqlist)
seqlist.remove(x)
list2.append(x)
print('进行简单选择排序后的链表:')
print(' '.join('%s' %num for num in list2))
#创建一个链表对象
lianbiao=LinkedList()
#对链表进行简单选择排序
lianbiao.SimpleSelectSort()
2.测试数据和结果:
测试数据:10,3,#
测试结果:3,10
测试数据:4,5,1,#
测试结果:1,4,5