zoukankan      html  css  js  c++  java
  • 冒泡排序,快速排序

    冒泡拍序

    def bubble_sort(nums):
        for i in range(len(nums) - 1):
            for j in range(len(nums) - i - 1):
                if nums[j] > nums[j + 1]:
                    nums[j], nums[j + 1] = nums[j + 1], nums[j]
        return nums
    
    #冒泡排序优化
    def bubble_sort2(nums):
        #比如说n个数,则只要进行n-1次冒泡
        for i in range(len(nums)-1):
            flag=False#设置一个交换标志位
            #j就是控制每一次具体的冒泡过程
            for j in range(len(nums)-i-1):
                if nums[j]>nums[j+1]:
                    nums[j], nums[j + 1] = nums[j + 1], nums[j]
                    flag=True
            if not flag:
                return nums
        return nums
    
    
    if __name__ == "__main__":
        nums=[12,2,3,3,7]
       # print(bubble_sort(nums))

    快速排序

    def quick_sort(b):
        if len(b)<2:
            return b
        #选取继基准,中间的值
        mid=b[len(b)//2]
        #定义基准值左右两个数列
        left,right=[],[]
        #从原始数组中移除基准值
        b.remove(mid)
        for i in b:
            #大于基准值放右边
            if i>mid:
                right.append(i)
            else:
                left.append(i)
        #使用迭代进行比较
        return quick_sort(left)+[mid]+quick_sort(right)
  • 相关阅读:
    数据库子句
    数据查询的语言
    试图
    Bootstrap 简介及引用方法
    一阶段项目整理
    js 鼠标移入移出
    js 鼠标点击事件
    轮播图
    滚动条 固定导航栏
    三元运算符 DOM找元素
  • 原文地址:https://www.cnblogs.com/wangxue1314/p/13492743.html
Copyright © 2011-2022 走看看