python中冒泡排序和选择排序

冒泡排序:
方法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)

猜你喜欢

转载自blog.csdn.net/qq_45381011/article/details/107748936