Python函数之冒泡算法

冒泡算法

1、

data = [4,3,2,1]
count = 0
for i in range(0, len(data)):
#len(data)代表的是列表的总长度
#取外层函数的第一个值进行循环
    for j in range(i + 1, len(data)):
#把外层循环的第一个值跟所有的内层循环的值比较一遍,并跟换位置,沉低
        count += 1
        if data[j] < data[i]:
            tmp = data[j]
            data[j] = data[i]
            data[i] = tmp

            # count += 1
print(data, "次数是", count)

2、

data = [4,3,2,1]
count = 0
for j in range(1, len(data)):
    # count += 1
    for i in range(len(data)-j):
        count += 1
        if data[i] > data[i + 1]:
            tmp = data[i]
            data[i] = data[i + 1]
            data[i+1] = tmp
print(data)
时间: 2024-08-02 02:51:32

Python函数之冒泡算法的相关文章

python实现经典冒泡算法

利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序 冒泡排序:小的排在前,大的排在后面 原文地址:https://www.cnblogs.com/come202011/p/12229218.html

Python函数练习:冒泡算法+快速排序(二分法)

冒泡算法: #-*- coding: UTF-8 -*-#冒泡排序 def func(lt): if type(lt).__name__ !='list' and type(lt).__name__ !='tuple': return if type(lt).__name__ == 'tuple': return list(lt) for i in range(1,len(lt)-1): for j in range(1,len(lt)-i): if lt[j] > lt[j+1]: lt[j]

python模块之re,os,sys。冒泡算法和反射。

python内置模块之(os,sys,hashlib,re) os模块 1 os.path.dirname() # 获取文件的上一层目录名,其实就是os.path.split(path)的第一个元素 2 os.path.abspath() # 获取文件的绝对路径,包括文件名 3 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 4 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd 5 os.curdir 返回当前目录:

python冒泡算法,lambda表达式

======================================================================== 冒泡算法 (个人理解类似于IP互换方案方式,或者被老师成为小鱼冒泡泡) 如何将列表内的数字进行排序呢? 方法1(需要递归) li =[5,4,3,2,6]                 #定义一个列表 print li                            #调试打印出列表 for m in range(4):          #通

Python 第五篇:冒泡算法、系统标准模块

一:冒泡算法,也叫冒泡排序,其特点如下: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 3.针对所有的元素重复以上的步骤,除了最后一个. 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 使用python的冒泡排序完成一组无序队列的排序: data = [10,4,33,21,54,3,8,11,5,22,2,2,2,1,17,13,6] print(d

python 冒泡算法

使用python进行冒泡算法对给定列表进行排序 其中需要注意的一点就是调换值的位置,位置调换不能通过索引直接赋值,需要引入一个临时变量来完成 一下的例子是进行升序排序,如果需要进行降序排序,将其中的比较符'>'换为'<'即可 li = [33,2,10,1,123,123,557,5,3422,13123,88] print(li) #先打印一下需要排序的列表 for j in range(1,len(li)): #控制循环次数 for i in range(len(li)-1): #每次循环

Python之冒泡算法

有如下列表,要求从左到右顺序排序 li = [13,22,6,99,11] 实现方法: li = [13,22,6,99,11]print "##########原始数字顺序################"print liprint "#########开始第一次排序############3"for m in range(4):    num1 = li[m]    num2 = li[m+1]    if num1>num2:       tmp = l

Python——冒泡算法

冒泡算法:对于要排序的序列,每次将两个元素进行比较,如果排序错误则将两者进行交换,直到完成排序.   以数列 li = [12,22,3,11,8,10] 为例: for m in range(len(li)-1): for n in range(m+1,len(li)): if li[m] > li[n]: temp = li[n] li[n] = li[m] li[m] = tempprint li 或 for n in range(1,len(li)-1): for m in range(

Python实现各种排序算法的代码示例总结

Python实现各种排序算法的代码示例总结 作者:Donald Knuth 字体:[增加 减小] 类型:转载 时间:2015-12-11我要评论 这篇文章主要介绍了Python实现各种排序算法的代码示例总结,其实Python是非常好的算法入门学习时的配套高级语言,需要的朋友可以参考下 在Python实践中,我们往往遇到排序问题,比如在对搜索结果打分的排序(没有排序就没有Google等搜索引擎的存在),当然,这样的例子数不胜数.<数据结构>也会花大量篇幅讲解排序.之前一段时间,由于需要,我复习了