python算法图解之选择排序(一)

本文介绍了选择排序的基本思路,即从待排序的序列中找到最小值并将其放到已排序序列的末尾,通过不断重复这一过程来完成整个序列的排序。文中还提供了一个Python实现的选择排序示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选择排序的思路:

得到一个list,取出最小的值放到新的list中,并且在原list中删掉该元素。

重复操作直到取出最后一个数。

选择排序的时间复杂度为O(n^2)


python练习:

# coding=utf8

def selectionSort(arr):
	newArr = []
	for i in range(len(arr)):
		smallest=findSmallest(arr)
		#print smallest
		newArr.append(arr.pop(smallest))
	return newArr

def findSmallest(arr):
	smallest = arr[0]
	smallest_index = 0

	for i in range(1,len(arr)):
		if arr[i] < smallest:
			smallest = arr[i]
			smallest_index = i
	return smallest_index

int1 = [6,5,7,8,9,4,3,2,1]
int2 = selectionSort(int1)

for a in int2:
	print a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值