选择排序算法

Posted O2O2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择排序算法相关的知识,希望对你有一定的参考价值。

问题描述

用选择排序法对一组数据由小到大进行排序。


问题分析

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。


选择排序每次只记录最大数的索引值. 类似于冒泡排序, 也是要比较n-1次, 区别是冒泡排序每次都交换, 选择排序只在最后比较完后才进行交换。


代码code


def selectSort(nums):

  for i in range(len(nums)):

    max_index = 0

    for j in range(len(nums)-i):

      if nums[max_index] < nums[j]:

        max_index = j

    nums[max_index], nums[len(nums)-i-1] = nums[len(nums)-i-1], nums[max_index]

  return nums

nums = [6,2,54435,3141]

print selectSort(nums)


以上是关于选择排序算法的主要内容,如果未能解决你的问题,请参考以下文章

算法2 排序算法:直接选择排序和堆排序

排序算法之冒泡选择插入排序(Java)

排序算法之冒泡选择插入排序(Java)

经典排序算法和Python详解之选择排序和二元选择排序

算法排序算法之选择排序

冒泡排序算法和选择排序算法比较