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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值