内容正文:
66 Python选择排序的应用
复习 选择排序
思路:
1.找到数组中的最小值,把他更换到列表中的第一位。(具体做法:先假设第一数为最小值,记录它的索引值,将第一数和第二个数作比较,如果第一个数大于第二个数则交换他们,此时最小值变为两者中较小的一个数;接着用最小值和下一个数继续比较,如果最小值大于下一个数,则交换他们的值,依次循环比较,一轮比较下来,最小值就会被找到,并且更换到最开始的位置。
2.接着找到第二小的值,把他更换到列表中的第二位。
3.以此类推,执行n-1轮,就可以完成排序。
实现步骤
(1)设数组长度为n。
(2)从数组中找到最小的元素,并记录其下标。
(3)将最小元素与第1个元素交换位置。
(4)在剩下的n-1个元素中,找到最小的元素,记录其下标。
(5)将最小元素与第2个元素交换位置。
(6)重复步骤4-5,直到排序完成。
案例一
请使用选择排序法对 arr1 = [9, 5, 7, 3, 1] 进行排序
参考代码:
def selection_sort(arr):
for i in range(len(arr)):
min_index = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
arr1 = [9, 5, 7, 3, 1]
sorted_arr = selection_sort(arr)
print(sorted_arr)
案例二
l=[‘k’,’f’,’c’,’p’,’y’]使用选择排序和冒泡排序对列表排序。
案例三
答案:
评分标准:
① chr(x);(4分)
② i+1;(4分)
③ j;(4分)
④ a[k],a[i]。(4分)
$$