用python实现将数组元素按从小到大的顺序排列方法

如下所示:

def findSmallest(arr):
 smallest = arr[0]#将第一个元素的值作为最小值赋给smallest
 smallest_index = 0#将第一个值的索引作为最小值的索引赋给smallest_index
 for i in range(1, len(arr)):
  if arr[i] < smallest:#对列表arr中的元素进行一一对比
   smallest = arr[i]
   smallest_index = i
 return smallest_index
 
 
def selectionSort(arr):
 newArr = []
 for i in range(len(arr)):
  smallest = findSmallest(arr)#一共要调用5次findSmallest
  newArr.append(arr.pop(smallest))#每一次都把findSmallest里面的最小值删除并存放在新的数组newArr中
 return newArr
print(selectionSort([5, 3, 6, 2, 10]))

运行结果如下:

[2, 3, 5, 6, 10]

相关推荐