zoukankan      html  css  js  c++  java
  • python实现快排+冒泡排序

    1、快排

    """
    快排:从一堆杂乱的数据中挑选一个基准值,将这些数字和基准值一一比较,大的放基准值的右边,小的放左边
    
    实现思路:定义一个函数,挑选列表的首个数字作为基准值,其他数字比基准值小的数字生成列表,同理,其他数字和基准值大的数字生成另一个列表,再递归快排这两个列表
    """
    
    def quick_sort(nums):
        
        if len(nums) < 2:
            return nums
        else:
            base = nums[0]
            left = [ i for i in nums[1:] if i <base ]
            right = [i for i in nums[1:] if i > base]
            return quick_sort[left] + [base] + quick_sort[right]
    
    nums = [5, 88, 35, 1, -8, 52, 552, 103254, 956, 235, 154, 22]
    print(quick_sort(nums))
    输出:[-8, 1, 5, 22, 35, 52, 88, 154, 235, 552, 956, 103254]
    

    2、冒泡

    """
    冒泡:从左向右,两两比较,如果左边大于右边,则交换位置
    """
    
    def bubble_sort(arr):
      length = len(arr)
    	
      for i in range(length):
        for j in range(length - i - 1):
          if arr[j] > arr[j + 1]:
    	   arr[j], arr[j + 1] = arr[j + 1], arr[j]
      return arr
  • 相关阅读:
    grub损坏修复方法
    基本命令(一)
    python 及 ipython 源码安装
    Samba服务安装配置
    shell语法一
    cacti监控软件
    Telnet服务安装及配置
    LVM逻辑卷,RAID磁盘阵列
    运维笔试题4(转载)
    运维笔试题3(转载)
  • 原文地址:https://www.cnblogs.com/laoayi/p/13255509.html
Copyright © 2011-2022 走看看