选择排序Python代码及注释

#Author:Anthony def findSmallest(arr):#寻找最小值  smallest=arr[0]#初始默认0索引位置的值为最小值  smallest_index=0#索引  for i in range(1,len(arr)):#去除0索引位置仍需比较len(arr)-1次,且i代表索引  if smallest>arr[i]:#判断当前最小值与索引为i处的值的大小  smallest=arr[i]#当 smallest>arr[i]时,就将arr[i]处的值设为最小值  smallest_index=i#最小值所对应的索引值  return smallest_index#返回最小值的索引  def seclectSort(arr):#选择排序  newArr=[]#首先建立一个空数组,存放排序后的数组  for i in range(len(arr)):#循环len(arr)次  smallest=findSmallest(arr)#每次循环时调用findSmallest(),得出数组arr中的最小值的索引  smallest_value=arr.pop(smallest)#将索引所对应的最小值从arr中移除,则smallest_value就是本次循环最小值,arr为去除本次循环最小值后的数组,并挂起  newArr.append(smallest_value)#将最小值添加到newArr中,则newArr中的元素从小到大依次排列  return newArr#返回选择排序后的数组  instance=[2,6,8,7,5,4,9]
result=seclectSort(instance)
print(result)
pop()是list对象中定义的一个方法,用于取出一个元素并且删除它
>>>a = [1, 2, 3]
>>>b = a.pop(1)
>>>a
>>>[1, 3]
>>>b
>>>2

点赞