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

     1 """
     2 插入排序
     3 sort_list = [23, 33, 22, 12, 32, 25, 77, 4, 88, 2]
     4 
     5 def insertion_sort(sort_list):
     6     iter_len = len(sort_list)
     7     if iter_len < 2:
     8         return sort_list
     9     for i in range(1, iter_len):
    10         key = sort_list[i]
    11         j = i - 1
    12         while j>=0 and sort_list[j]>key:
    13             sort_list[j+1] = sort_list[j]
    14             j -= 1
    15         sort_list[j+1] = key
    16     return sort_list
    17 
    18 print(insertion_sort(sort_list))
    19 """
    20 """
    21 冒泡排序
    22 li = [23, 33, 22, 12, 32, 25, 77, 4, 88, 2]
    23 # 前一个数和下一个数比较,大的上浮,直到顶部
    24 # 剩下的数再次比较决出第二大的数
    25 def bubble_sort(sort_list):
    26     iter_len = len(sort_list)
    27     if iter_len < 2:
    28         return sort_list
    29     for i in range(iter_len-1):
    30         for j in range(iter_len-i-1):
    31             if sort_list[j] > sort_list[j+1]:
    32                 sort_list[j], sort_list[j+1] = sort_list[j+1], sort_list[j]
    33     return sort_list
    34 
    35 print(bubble_sort(li))
    36 """
    37 li = [23, 33, 22, 12, 32, 25, 77, 4, 88, 2]
    38 # 找出最小位置的数最后交换,沉底找,选择排序
    39 def selection_sort(sort_list):
    40     iter_len = len(sort_list)
    41     if iter_len < 2:
    42         return sort_list
    43     for i in range(iter_len-1):
    44         smallest = sort_list[i]
    45         location = i
    46         for j in range(i+1, iter_len):
    47             if sort_list[j] < smallest:
    48                 smallest = sort_list[j]
    49                 location = j
    50         if i != location:
    51             sort_list[i], sort_list[location] = sort_list[location], sort_list[i]
    52     return sort_list
    53 
    54 print(selection_sort(li))
  • 相关阅读:
    判断两个数组是否相等
    正则表达式的正向预查
    IFC布局特点
    XSS攻击总结
    String与toString
    link与@import
    BFC布局
    单例模式
    <input type="radio" >与<input type="checkbox">值得获取
    Struts标签<s:iterator>遍历访问复杂Map对象
  • 原文地址:https://www.cnblogs.com/blue-day/p/9308618.html
Copyright © 2011-2022 走看看