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))

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

  • 相关阅读:
    python之新手一看就懂的小说爬虫
    Mysql与Oracle区别
    Java面试2018常考题目汇总(一)(转)
    单例式的优缺点和使用场景
    设计模式之单例模式通俗理解
    IntelliJ Idea 最常用快捷键
    sql语句基础和提升
    Tomcat 安装配置
    Git基本常用命令
    Java练手题
  • 原文地址:https://www.cnblogs.com/open-yang/p/11367082.html
Copyright © 2011-2022 走看看