南海网站建设哪家好,辽宁省住房和城乡建设厅网站上不去,物流公司网站建设系统规划,青岛做视频的网站选择排序是一种简单直观的排序算法#xff0c;它的工作原理如下#xff1a;
1、 在未排序序列中找到最小#xff08;或最大#xff09;元素#xff0c;存放到排序序列的起始位置。 2、再从剩余未排序元素中继续寻找最小#xff08;或最大#xff09;元素#xff0c;然…选择排序是一种简单直观的排序算法它的工作原理如下
1、 在未排序序列中找到最小或最大元素存放到排序序列的起始位置。 2、再从剩余未排序元素中继续寻找最小或最大元素然后放到已排序序列的末尾。 3、重复第二步直到所有元素均排序完毕。
具体步骤描述 首先在待排序的一组数中找到最小或最大的那个数与第一个位置的数交换 然后在剩下的数当中找到最小或最大的那个数与第二个位置的数交换 如此循环进行每次从未排序的元素中找到最小或最大的元素与已排序序列中的对应位置元素交换位置。
def select_sort(li: list):选择排序for i in range(len(li) - 1): # 趟数数组长度 - 1末尾元素不进行flag i # 标识for j in range(i 1, len(li)): # 依次作比较的元素索引位置if li[flag] li[j]: # 依次将最小值索引赋值给flag最后会得到最小值的索引后续直接进行交换赋值flag jif flag ! i: # 判断是否有比目标元素小的有则交换赋值li[i], li[flag] li[flag], li[i]print(第 str(i) 趟, li)if __name__ __main__:nums [2, 3, 1, 7, 0]# nums [1, 1, 1, 1, 1]print(原数组, nums)select_sort(nums)算法的时间复杂度为O(n²)其中n为待排序数组的长度