zoukankan      html  css  js  c++  java
  • Python实现几种简单的排序算法

    一.冒泡排序

    概念:为一个无序的列表排成有序的

    实现过程描述:(升序)

      1.比较相邻的元素,如果第一个比第二个大,就交换他们的位置

      2.对每一对相邻元素重复1的工作,从开始第一队到最后一对,最后结束的时候最大的数会在后面

      3.针对所有元素重复1,2的工作,除了最后一个数,因为最后的数最大,省略这个过程

      4.持续每次对越来越少的元素重复上面的步骤,知道没有任何一对数字需要比较

    复杂度: 时间复杂度为O(n^2)

    代码实现:

      

    #给定一个列表
    
    list  = [11,54,3243,323,3,82,121,33,4,5,7,213,51]
    
    #冒泡排序
    for i in range(1,len(list)):
        found =False    #定义一个变量为False
        for n in range(len(list)-i):
            if list[n]>list[n+1]:
                #当出现逆序交换下表n和n+1的位置
                temp = list[n]
                list[n] = list[n+1]
                list[n+1] = temp
                found =True #当出现逆序时,改变变量值为True    如果未发现逆序则表示排序已经完成
        if not found:#当found值为False,直接跳出循环
            break
    print(list)

    未完待续

  • 相关阅读:
    SpringMVC开发环境搭建
    SpringMVCRestful
    SpringMVC源码执行流程
    SpringMVC域对象数据输出
    SpringMVC请求参数
    Object类常用方法
    五大浏览器
    jinja2的学习之路
    嚣张过后之解决问题篇(无果)
    嚣张狂妄的经历之二(应聘infosys的teamleader)
  • 原文地址:https://www.cnblogs.com/lyxdw/p/9969638.html
Copyright © 2011-2022 走看看