zoukankan      html  css  js  c++  java
  • 排序算法----选择排序

    选择排序

      选择排序改进了冒泡排序,每次遍历列表只做一次交换。为了做到这一点,一个选择排序在他遍历时寻找最大的值,并在完成遍历后,将其放置在正确的位置。  

      

      

     1 """
     2 选择排序
     3 """
     4 
     5 
     6 def select_sort(int_list):
     7     length = len(int_list)
     8     if length <= 1: return int_list
     9     # 选择排序的循环次数
    10     for i in range(length - 1):
    11         # 假定索引为0的元素为最大值
    12         index = 0
    13         # 对未排序的元素进行循环遍历与假定最大值比较
    14         for j in range(1, length - i):
    15             # 如果未排序的元素大于假定的最大值,修改最大值索引
    16             if int_list[j] > int_list[index]:
    17                 index = j
    18         # 每次循环找到最大值与未排序元素的最后一个交换
    19         int_list[j], int_list[index] = int_list[index], int_list[j]
    20     return int_list
    21 
    22 
    23 # print(select_sort([11,3,5,89,1]))
    24 if __name__ == '__main__':
    25     int_str = input("请输入逗号分割的整数>>>").strip()
    26     int_list = [int(i) for i in int_str.split(",")]
    27     print(select_sort(int_list))

      对于冒泡排序来讲选择排序由于交换数量的减少,选择排序通常在基准研究中执行得更快。

  • 相关阅读:
    golang获取URL
    Golang读取HTML中Table数据到二维数组
    Golang的GUI开发包fyne基本教程
    C#搭建安川机器人上位机
    程序计数器
    SpringBoot定时任务详解
    mysql 5.7安装
    springboot 配置多数据源
    mysql 查询某一天数据
    java如何获取当前日期和时间
  • 原文地址:https://www.cnblogs.com/open-yang/p/11367082.html
Copyright © 2011-2022 走看看