zoukankan      html  css  js  c++  java
  • Python冒泡排序

    # 冒泡排序,最小的元素像气泡一样逐渐上浮至水面
    # 从最后面开始,相邻比较,较小元素的放在较大的元素上面
    # 一轮之后最小的会跑到最上面,继续循环把次小的再排上来,直到整体有序
    
    
    def bubble_sort_1(alist):
        # 从后往前遍历索引
        for j in range(len(alist)-1, 0, -1):
            count = 0
            # 把最大的往后换并固定住,再找出剩余的数中最大的,以此类推
            for i in range(j):
                if alist[i] > alist[i+1]:
                    alist[i], alist[i+1] = alist[i+1], alist[i]
                    count += 1
    
    
    def bubble_sort_2(alist):
        # 从前往后遍历索引
        for j in range(0, len(alist)):
            count = 0
            # 把最小的往前换并固定住,再找出剩余的数中最小的,以此类推
            for i in range(len(alist)-1, j, -1):
                if alist[i] < alist[i-1]:
                    alist[i], alist[i-1] = alist[i-1], alist[i]
                    count += 1
    
    
    if __name__ == '__main__':
    
        nums1 = [54, 26, 93, 17, 77, 31, 44, 55, 20, 13]
        bubble_sort_1(nums1)
        print(nums1)
    
        nums2 = [54, 26, 93, 17, 77, 31, 44, 55, 20, 13]
        bubble_sort_2(nums2)
        print(nums2)
    
    
  • 相关阅读:
    traceroute工具
    tcpdump抓包
    Linux 信号表 signals
    Bloom Filter (海量数据处理)
    socks v5 协议解析
    Vim插件推荐
    建堆复杂度O(n)证明
    使用Vundle管理Vim插件
    VB调用C# dll
    域PC脱域
  • 原文地址:https://www.cnblogs.com/sn0wp3ak/p/13733710.html
Copyright © 2011-2022 走看看