选择排序和冒泡排序的异同:
1、相同点:整体结构差不多
2、不同点:冒泡排序外层循环控制遍历次数,内层循环交换数据,只要满足就交换
选择排序外层循环控制遍历次数,内存循环查询最大最小值,遍历完后只做一次数据交换
下面就来具体实现:
首先随机生成一个列表:
select_sort_list = [382, 273, 427, 274, 497, 209, 326, 498, 246, 79, 73, 72, 334, 490, 320, 185, 253, 43, 343, 97, 127, 312, 25, 368, 194, 76, 226, 248, 495, 126]
然后开始写选择排序的具体实现:
def select_sort(sort_list): # 循环次数 for i in range(len(sort_list)-1): # 初始最小元素的索引为i min_idx = i # 遍历列表 for j in range(i+1, len(sort_list)): # 有更小的元素,将索引给min_idx if sort_list[min_idx] > sort_list[j]: min_idx = j # 当最小元素索引发生了变化,交换数据位置 if i != min_idx: sort_list[i], sort_list[min_idx] = sort_list[min_idx], sort_list[i] return sort_list sort_result = select_sort(select_sort_list) print(sort_result)
打印的结果为:
[25, 43, 72, 73, 76, 79, 97, 126, 127, 185, 194, 209, 226, 246, 248, 253, 273, 274, 312, 320, 326, 334, 343, 368, 382, 427, 490, 495, 497, 498]
来源:https://www.cnblogs.com/suanmiaoup/p/12593357.html