冒泡排序:
方法1.
# 冒泡排序
list2=[] #先定义一个空列表等着接数字
#输入需要排序的数值
while True:
a=int(input('请输入需要排序的数字:'))
list2.append(a)
question=input('是否继续输入(y/n):')
if question == 'n':
break
print(list2) #打印列表
i = 0
while i < len(list2):
middle=0
j = 0
#不断的把最小的放在前面
while j < i:
if list2[i] < list2[j]:
middle = list2[j]
list2[j] = list2[i]
list2[i] = middle
j = j+1
i += 1
print(list2)
方法2:
mylist[6,3,9,0]
for i in range(len(mylist)-1):
#每一轮的比较,注意range的变化,这里需要进行lengh-i长的比较,注意-i的意义(可以减少比较已经排好序的元素)
for j in range(0,len(mylist)-i):
#交换
if mylist[j] > mylist[j+1]:
# tmp = mylist[j]
# mylist[j] = mylist[j+1]
# mylist[j+1] = tmp
mylist[j], mylist[j+1] = mylist[j+1], mylist[j]
print(mylist)
选择排序:
list1=[3,10,6,9,1,2,6,8]
for i in range(len(list1)):
#把最小的放到前面
min = i
for j in range(i+1,len(list1)):
if list1[min] > list1[j]:
min = j
list1[i], list1[min] = list1[min], list1[i]
print(list1)