python冒泡排序算法的实现代码

yipeiwu_com6年前Python基础

1.算法描述:
(1)共循环 n-1 次
(2)每次循环中,如果 前面的数大于后面的数,就交换
(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的。

2.python冒泡排序代码

复制代码 代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

def bubble(l):
    flag = True
    for i in range(len(l)-1, 0, -1):
        if flag:
            flag = False
            for j in range(i):
                if l[j] > l[j + 1]:
                    l[j], l[j+1] = l[j+1], l[j]
                    flag = True
        else:
            break
    print l

li = [21,44,2,45,33,4,3,67]
bubble(li)



结果:[2, 3, 4, 21, 33, 44, 45, 67]

相关文章

python数据结构之链表详解

python数据结构之链表详解

数据结构是计算机科学必须掌握的一门学问,之前很多的教材都是用C语言实现链表,因为c有指针,可以很方便的控制内存,很方便就实现链表,其他的语言,则没那么方便,有很多都是用模拟链表,不过这次...

python项目对接钉钉SDK的实现

python项目对接钉钉SDK的实现

 钉钉SDK 对接sdk还是遇到不少问题的 钉钉python版SDK文档地址:https://dingtalk-sdk.readthedocs.io/zh_CN/lates...

Python集中化管理平台Ansible介绍与YAML简介

Python集中化管理平台Ansible介绍与YAML简介

本文实例讲述了Python集中化管理平台Ansible介绍与YAML。分享给大家供大家参考,具体如下: 一 中文社区 http://ansible.cn/forum.php 二 点睛 A...

Python如何发布程序的详细教程

Python如何发布程序的详细教程

如何发布一个Python程序: 1.安装一个pyInstaller 在pycharm里点 file —–>setting—–>Project workspace——>I...

浅谈python为什么不需要三目运算符和switch

对于三目运算符(ternary operator),python可以用conditional expressions来替代 如对于x<5?1:0可以用下面的方式来实现...