python中对列表元素大小排序(冒泡排序法和选择排序法)
前言:
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,
重新排列成一个关键字有序的序列。本文主要讲述python中经常用的两种排序算法,选择排序法和冒泡排序
法及其区别。通过对列表里的元素大小排序进行阐述。 一,选择排序法
- 从第一个位置开始比较,找出最小的,和第一个位置互换,开始下一轮。
lt = [3, 5, 2, 1, 8, 4]
#求出lt的长度
n = len(lt)
#外层循环确定比较的轮数,x是下标,lt[x]在外层循环中代表lt中所有元素
for x in range(n-1):
#内层循环开始比较
for y in range(x+1,n):
#lt[x]在for y 循环中是代表特定的元素,lt [y]代表任意一个lt任意一个元素。
if lt[x]>lt[y]:
#让lt[x]和lt列表中每一个元素比较,找出小的
lt[x],lt[y]=lt[y],lt[x]
print(lt)
二,冒泡排序法排序
- 从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。
lt = [3, 5, 2, 1, 8, 4]
n= len(lt)
for x in range(n-1):
for y in range(n-1-x):
if lt[y]>lt[y+1]:
lt[y],lt[y+1]=lt[y+1],lt[y]
print(lt)
选择排序法和冒泡排序法的区别:
- 冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值;
- 冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置;
- 冒泡排序是通过数去找位置,选择排序是给定位置去找数;
python中对列表元素大小排序(冒泡排序法和选择排序法)的更多相关文章
- Python 中删除列表元素的三种方法
列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的. 那到底有哪些方法可以删除列表中的元素呢?这篇文章就来总结一下. 一共有三种方法,分别是 remove,pop 和 d ...
- C语音中最简单的排序冒泡排序和选择排序代码实现(非指针)
#include<stdio.h> int main() { int a[5] = { 2,5,7,3,-1 }; int n = sizeof(a) / sizeof(a[0]);//元 ...
- java12-6 冒泡排序法和选择排序法
1.冒泡排序法 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 分析: 第一次比较排序的结果:会把其中最大的数据排到最大的索引处 第二次比较排序后的结果:因为第一次已经把最大的一个 ...
- C语言实现冒泡排序法和选择排序法代码参考
为了易用,我编写排序函数,这和直接在主调函数中用是差不多的. 我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误! 冒泡排序法 void sort(int * ar, ...
- python中修改列表元素的方法
一.在for循环中直接更改列表中元素的值不会起作用: 如: l = list(range(10)[::2]) print (l) for n in l: n = 0 print (l) 运行结果: [ ...
- Python中对列表排序实例
Python中对列表排序实例 发布时间:2015-01-04 09:01:50 投稿:junjie 这篇文章主要介绍了Python中对列表排序实例,本文给出了9个List的排序实例,需要的朋友可以参考 ...
- python中的列表及numpy数组排序
一.列表排序 # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in f ...
- Python实现 -- 冒泡排序、选择排序、插入排序
冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 冒泡排序的原理: 比较两个相邻的元素,如果第一个比第二个大,就交换他们 对每一对相邻的元素做同样的工作,从开始第 ...
- julia与python中的列表解析.jl
julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...
随机推荐
- MAC-安装套件管理工具Homebrew
前言 Homebrew是一款Mac OS下的套件管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能. Homebrew安装 1,Homebrew官网获取安装指令,官网地址:https://br ...
- (转)Linux下编译安装log4cxx
Linux下编译安装log4cxx 一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. log4cxx ...
- (转载)Manacher'sAlgorithm: O(n)时间求字符串的最长回文子串
以下内容转载自:传送门 源于这两篇文章: http://blog.csdn.net/ggggiqnypgjg/article/details/6645824http://zhuhongcheng.wo ...
- Git008--远程仓库
Git--远程仓库 本文来自于:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ ...
- spring事务——try{...}catch{...}中事务不回滚的几种处理方式(转载)
转载自 spring事务——try{...}catch{...}中事务不回滚的几种处理方式 当希望在某个方法中添加事务时,我们常常在方法头上添加@Transactional注解 @Respon ...
- 《JAVA设计模式》之解释器模式(Interpreter)
在阎宏博士的<JAVA与模式>一书中开头是这样描述解释器(Interpreter)模式的: 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个 ...
- Stream的排序
1.list<Integer>的正序 List<Integer> list = new ArrayList<>();list.add(50);list.add(45 ...
- git-vi
VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是它的命令集太多,所以要想精通他,也是一件很不容易的事情,除了专业SA,对于我们开发人员而已只需要掌握一些最最常见的用法应该就可以 ...
- JavaScript代码内部执行顺序
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- oracle至sqlplus的时候出现错误
那个啥,没记录到. 大概这么回事,上去的时候sqlplus不出命令. 然后source一下,出现了sqlplus. 但是呢,sqlplus / as sysdba的时候出现http——proxy ...