python冒泡排序简单实现方法
本文实例讲述了python冒泡排序简单实现方法。分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/python
import random
def bubble_sort(data):
length = len(data)
for i in range(len(data) - 1):
for j in range(len(data) - 1):
if (data[j] < data[j + 1]):
tmp = data[j]
data[j] = data[j + 1]
data[j + 1] = tmp
r = random.Random()
data = []
for n in range(0, 20):
data.append(r.randint(1, 300))
print data, len(data)
bubble_sort(data)
print data
运行结果如下:
[115, 14, 246, 125, 94, 78, 275, 163, 64, 72, 245, 1, 97, 53, 86, 270, 137, 69, 74, 182] 20
[275, 270, 246, 245, 182, 163, 137, 125, 115, 97, 94, 86, 78, 74, 72, 69, 64, 53, 14, 1]
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
python 算法 排序实现快速排序
QUICKSORT(A, p, r)是快速排序的子程序,调用划分程序对数组进行划分,然后递归地调用QUICKSORT(A, p, r),以完成快速排序的过程.快速排序的最差时间复杂度为O(n2),平时时间复杂度为O(nlgn).最差时间复杂度的情况为数组基本有序的时候,平均时间复杂度为数组的数值分布较为平均的时候.在平时情况下快速排序跟堆排序的时间复杂度都为O(nlgn),但是快速排序的常数项较小,所以要优于堆排序. PARTITION(A, p, r) 复制代码 代码如下: x ← A[r]
-
python实现忽略大小写对字符串列表排序的方法
本文实例讲述了python实现忽略大小写对字符串列表排序的方法,是非常实用的技巧.分享给大家供大家参考.具体分析如下: 先来看看如下代码: string = ''' the stirng Has many line In THE fIle jb51 net ''' list_of_string = string.split() print list_of_string #将字符串分离开,放入列表中 print '*'*50 def case_insensitive_sort(liststring
-
python实现的各种排序算法代码
复制代码 代码如下: # -*- coding: utf-8 -*-# 测试各种排序算法# link:www.jb51.net# date:2013/2/2 #选择排序def select_sort(sort_array): for i, elem in enumerate(sort_array): for j, elem in enumerate(sort_array[i:]): if sort_array[i] > sort_array[j + i]
-
python选择排序算法的实现代码
1.算法:对于一组关键字{K1,K2,-,Kn}, 首先从K1,K2,-,Kn中选择最小值,假如它是 Kz,则将Kz与 K1对换:然后从K2,K3,- ,Kn中选择最小值 Kz,再将Kz与K2对换.如此进行选择和调换n-2趟,第(n-1)趟,从Kn-1.Kn中选择最小值 Kz将Kz与Kn-1对换,最后剩下的就是该序列中的最大值,一个由小到大的有序序列就这样形成. 2.python 选择排序代码: 复制代码 代码如下: def selection_sort(list2): for i in
-
python sort、sorted高级排序技巧
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorted()方法.它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序. 复制代码 代码如下: >>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] 你也可以使用list.sort()方法来排序,此时list本身将被修改.通常此方法不如s
-
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
-
python 快速排序代码
复制代码 代码如下: def quick_sort(ls): return [] if ls == [] else quick_sort([y for y in ls[1:] if y < ls[0]]) + [ls[0]] + quick_sort([y for y in ls[1:] if y >= ls[0]]) if __name__ == '__main__': l1 = [3,56,8,1,34,56,89,234,56,231,45,90,33,66,88,11,22] l2 =
-
python编程实现希尔排序
观察一下"插入排序":其实不难发现她有个缺点: 如果当数据是"5, 4, 3, 2, 1"的时候,此时我们将"无序块"中的记录插入到"有序块"时,估计俺们要崩盘,每次插入都要移动位置,此时插入排序的效率可想而知. shell根据这个弱点进行了算法改进,融入了一种叫做"缩小增量排序法"的思想,其实也蛮简单的,不过有点注意的就是: 增量不是乱取,而是有规律可循的. 希尔排序时效分析很难,关键码的比较次数与记录移
-
python快速排序代码实例
一. 算法描述: 1.先从数列中取出一个数作为基准数.2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边.3.再对左右区间重复第二步,直到各区间只有一个数. 二.python快速排序代码 复制代码 代码如下: #!/usr/bin/python# -*- coding: utf-8 -*- def sub_sort(array,low,high): key = array[low] while low < high: while low <
-
python 实现插入排序算法
复制代码 代码如下: #!/usr/bin/python def insert_sort(array): for i in range(1, len(array)): key = array[i] j = i - 1 while j >= 0 and key < array[j]: array[j + 1] = array[j] j-=1 array[j + 1] = key if __name__ == "__main__": array = [2, 4, 32, 64,
随机推荐
- 自己动手清除电脑中的木马程序
- Android 使用Vitamio打造自己的万能播放器(6)——在线播放(播放列表)
- jquery实现从数组移除指定的值
- 记事本U盘病毒 Notepad.exe查杀方法
- 8个必备的PHP功能实例代码
- PHP实现的简单操作SQLite数据库类与用法示例
- C#通过创建Windows服务启动程序的方法详解
- android Socket实现简单聊天小程序
- MySQL存储引擎中MyISAM和InnoDB区别详解
- ajax智能提示+textbox动态生成下拉框示例代码
- STRUTS+AJAX+JSP 请求到后台乱码问题解决方法
- 浅析内存对齐与ANSI C中struct型数据的内存布局
- JavaScript Split()方法
- SQL Server把某个字段的数据用一条语句转换成字符串
- ORACLE 毫秒与日期的相互转换示例
- jquery 与NVelocity 产生冲突的解决方法
- 如何实现Linux操作系统的自动登录
- C++中4种强制类型转换的区别总结
- jax-ws handler 的详解及简单实例
- python 生成目录树及显示文件大小的代码
