Python实现冒泡,插入,选择排序简单实例
本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下:
# -*- coding: cp936 -*- #python插入排序 def insertSort(a): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]>a[j]: temp = a[i] a[i] = a[j] a[j] = temp return a #Python的冒泡排序 def bubbleSort(alist): for passnum in range(len(alist)-1,0,-1): #print alist,passnum for i in range(passnum): if alist[i]>alist[i+1]: temp = alist[i] alist[i] = alist[i+1] alist[i+1] = temp return alist #Python的选择排序 def selectionSort(alist): for i in range(len(alist)-1,0,-1): maxone = 0 for j in range(1,i+1): if alist[j]>alist[maxone]: maxone = j temp = alist[i] alist[i] = alist[maxone] alist[maxone] = temp return alist alist = [54,26,93,17,77,31,44,55,20] #print bubbleSort(alist) alist = [54,26,93,17,77,31,44,55,20] print selectionSort(alist)
感兴趣的朋友可以动手测试一下本文实例,相信会有新的收获。
相关推荐
-
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中的实现
基本思想:从未排序的序列中找到一个最小的元素,放到第一位,再从剩余未排序的序列中找到最小的元素,放到第二位,依此类推,直到所有元素都已排序完毕.假设序列元素总共n+1个,则我们需要找n轮,就可以使该序列排好序.在每轮中,我们可以这样做:用未排序序列的第一个元素和后续的元素依次相比较,如果后续元素小,则后续元素和第一个元素交换位置放到,这样一轮后,排在第一位的一定是最小的.这样进行n轮,就可排序. 原理图 图1: 图2: 初始数据不敏感,不管初始的数据有没有排好序,都需要经历N2/2次比较,这对于
-
Python实现选择排序
选择排序: 选择排序(Selection sort)是一种简单直观的 排序算法 .它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. 选择排序的主要优点与数据移动有关.如果某个元素位于正确的最终位置上,则它不会被移动.选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换.在所有的完全依靠交换去
-
python选择排序算法实例总结
本文实例总结了python选择排序算法.分享给大家供大家参考.具体如下: 代码1: def ssort(V): #V is the list to be sorted j = 0 #j is the "current" ordered position, starting with the first one in the list while j != len(V): #this is the replacing that ends when it reaches the end o
-
Python选择排序、冒泡排序、合并排序代码实例
前两天刚装了python 3.1.1, 禁不住技痒写点code. 1.选择排序 复制代码 代码如下: >>> def SelSort(L): length=len(L) for i in range(length-1): minIdx=i minVal=L[i] j=i+1 while j<length: if minVal>L[j]: mi
-
Python实现冒泡,插入,选择排序简单实例
本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下: # -*- coding: cp936 -*- #python插入排序 def insertSort(a): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]>a[j]: temp = a[i] a[i] = a[j] a[j] = temp return a #
-
python 循环while和for in简单实例
python 循环while和for in简单实例 #!/uer/bin/env python # _*_ coding: utf-8 _*_ lucknumber = 5 b = 0 while b <3: print('guss count:',b) a = int(input('you guse number')) if a > lucknumber: print ('youaerbiger') elif a == lucknumber: print ('youare righet')
-
JS学习之表格的排序简单实例
JS学习之表格的排序简单实例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input id="btn1" type="button" value="排序"> <table id="
-
MySQL按照汉字的拼音排序简单实例
如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了). 直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序: 如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码:对于的代码是 order by convert(name using gbk) asc; 同样,查询的
-
模拟javascript中的sort排序(简单实例)
一.javascript中sort对数据进行排序的原理 sort() 方法对数组的元素做原地的排序,并返回这个数组. sort 可能不是稳定的.默认按照字符串的Unicode码位点排序; 语法:arr.sort([compareFunction]) 参数 compareFunction 可选.用来指定按某种顺序进行排列的函数.如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序. 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前: 如
-
python+pillow绘制矩阵盖尔圆简单实例
本文主要研究的是使用Python+pillow绘制矩阵盖尔圆的一个实例,具体如下. 盖尔圆是矩阵特征值估计时常用的方法之一,其定义为: 与盖尔圆有关的两个定理为: 定理1:矩阵A的所有特征值均落在它的所有盖尔圆的并集之中. 定理2:将矩阵A的全体盖尔圆的并集按连通部分分成若干个子集,(一个子集由完全连通的盖尔圆组成,不同子集没有相连通的部分),对每个子集,若它恰好由K个盖尔圆组成,则该子集中恰好包含A的K个特征值. 与盖尔圆定理有关的几个推论为: 推论1:孤立盖尔圆中恰好包含一个特征值. 推论2
-
python在一个范围内取随机数的简单实例
python在一个范围内取随机数的方法: 可以利用random.uniform()函数来实现. random.uniform()函数用于生成一个指定范围内的随机浮点数,如:[random.uniform(10, 20)]. random.randint(a, b),用于生成一个指定范围内的整数.其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b. 代码示例: print random.randint(12, 20) # 生成的随机数 n: 12 <= n <
-
python实现取余操作的简单实例
python实现取余操作的方法: 可以利用求模运算符(%)来实现.求模运算符可以将两个数相除得到其余数.我们还可以使用divmod()函数来实现取余操作,具体方法如:[divmod(10,3)]. 在python中要实现取余操作可以使用求模运算符(%),该运算符可以将两个数相除得到其余数. 如果一个数恰好能被另外一个数据整除,则余数为0,%运算后返回结果为0. 可利用余数是否为0的特点,判断一个数是奇数还是偶数. num = 21 if num % 2 == 0: print("The
-
PHP简单选择排序算法实例
简单的选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换 复制代码 代码如下: <?php class Sort{ /** * 简单的选择排序 * * @param unknown_type $arr */ public function selectSort(&$arr) {
随机推荐
- javascript与CSS复习(《精通javascript》)
- 在nginx中实现单位时间内限制访问频率的教程
- Java线程同步、同步方法实例详解
- 给Oracle添加split和splitstr函数的方法
- .Net语言Smobiler开发利用Gridview控件设计较复杂的表单
- Request.RawUrl 属性的应用收
- Python标准库与第三方库详解
- C#装箱和拆箱原理详解
- javascript window对象属性整理
- Android studio 如何删除项目 module
- javascript中的数字与字符串相加实例分析
- JavaScript 图片放大效果及代码说明
- 安装服务器常见组件之ISAPI_Rewrite组件图文安装教程
- Spring Boot中Redis数据库的使用实例
- C++实现的泛型List类分享
- 收集的侃侃的歌46首,照片、侃侃新专辑 下载试听
- Android studio 3.0 查看手机文件系统的方法(超简单)
- 详解php与ethereum客户端交互
- 本地HTTPS环境搭建的完整步骤记录
- vue-cli webpack配置文件分析