选择排序

来自维基学院

介绍[编辑 | 编辑源代码]

基本概念:选择排序是常见的排序算法,用以对无序数字集合,进行数值从大到小或从小到大的排序。

实现思路:假设存在一个无序数字列表A和一个空列表B。对列表A,重复进行遍历,直到列表A为空。每一次遍历选取其中的最大值M,将最大值M从列表A中删除,并将相应元素追加到空列表B中。

举例[编辑 | 编辑源代码]

假设要对数字列表A进行从左向右,从小到大的排序,并将结果保存在列表B中。

初始状态:

  • 第一次遍历:
    • 第一步,选择列表A中的最大元素,为数字7,一共一项。
    • 第二步,将值为7的元素从列表A中删除,并向B中追加同样数量的元素7。
  • 第二次遍历:
    • 第一步,选择列表A中的最大元素,为数字5,一共两项。
    • 第二步,将值为5的元素从列表A中删除,并向B中追加同样数量的数字5。

······

结束状态: