选择排序算法python3代码:
def findSmallest(arr):
smallest=arr[0]#存储最小的值
smallest_index=0#存储最小元素的索引
for i in range(1,len(arr)):
if arr[i]<smallest:
smallest_index=i
return smallest_index
def selectionSort(arr):
newArr=[]
for i in range(len(arr)):
smallest=findSmallest(arr)
newArr.append(arr.pop(smallest))#找出数组中最小的元素, 并将其加入到新数组中
return newArr
测试:
print(selectionSort([5, 3, 6, 2, 10]))
输出:
[2, 3, 5, 6, 10]
本章小结:
- 需要存储多个元素时, 可使用数组或链表。
- 数组的元素都在一起。
- 链表的元素是分开的, 其中每个元素都存储了下一个元素的地址。
- 数组的读取速度很快。
- 链表的插入和删除速度很快。
- 在同一个数组中, 所有元素的类型都必须相同(都为int、 double等) 。