冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到 没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾...
一、排序思想 排序思想参见:https://www.cnblogs.com/luomeng/p/10161794.html二、python实现def bubble_sort(nums):"""冒泡排序Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。Python2 range() 函数返回的是列表。:type nums: 待排序列"""for i in range(len(nums) - 1):for j in range(len(nums) - i - 1):if nums[j] > nums[j + 1]:# 交换两个变量的值,‘=‘...
冒泡排序顾名思义,冒泡排序直观的意思是气泡越大冒的越快:),对应到我们的列表中就是数字最大的先选出来,然后依次进行。例如 myList = [1,4,5,0,6],比较方式为: 相邻的两个数字先进行比较,也就是myList[0]和myList[1],发现不是">"的关系,就继续比较myList[1]和myList[2]。。。依次进行,发现myList[2]>myList[3](及5>0),就进行交换,所以走完第一次全列表比较得到新列表[1,4,0,5,6],然后每一次扫描得到的新列表如下: ...
冒泡排序算法的运作如下:(从小到大) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。python:a = [3,99,2,11,66]
n = len(a)
for i in range(n-1): #进行n-1趟for j in range(n-i-1) :if a[...
1、变量互换a = 123
b = 456temp = a
a = b
b = temp python比较简单的变量互换:a = 123
b = 456
a,b = b,a
print(a,b) 2、将列表中最大的值放置到最后#!usr/bin/env python
# -*- coding:utf-8 -*-
li = [11,44,33,66,22]
for i in range(len(li)-1):if li[i] > li[i+1]:temp = li[i]li[i] = li[i+1]li[i+1] = tempprint(li) 3、循环嵌套冒泡排序法#!usr/bin/env python
# -*- coding:utf-8 -*-
li = [11,44,33,66,77,99,44]
fo...
冒泡排序介绍: 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。步骤:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的...
import time
import randomtime.clock()class BubbleSort(object):"""冒泡排序算法"""def sort_inc(self, nums):"""如果数组长度为n,那么时间复杂度:一共比较n-1次,第X次 比较次数1 n-12 n-2...n-1 1时间复杂度为比较次数的和:1 + 2 + 3 + 。。。。 + n-1 = n(n-1)/2复杂度去除常数和低阶项,结果是O(n^2)"""length = len(nums)if length == 1:return numsfor i in range(length-1):for j in ...
冒泡排序(Bubble Sort),是经典的排序算法,基本上我们学习任何语言都会接触到冒泡排序。
它的算法思想是,重复地遍历要排序的列表,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历列表的工作是重复地进行直到没有再需要交换,也就是说该列表已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
比如我们有下面这样一个列表:li = [10,8,4,7,5]
每次遍历列表每个元素,然...
a = [5, 4, 3, 2, 1, 0]
len_a = len(a)# 选择排序def selection_sort(a: list):if a is None or len_a < 2:returnfor i in range(len_a):min_index = ifor j in range(i + 1, len_a):if a[j] < a[min_index]:min_index = ja[i], a[min_index] = a[min_index], a[i]print(a)# 冒泡排序def bubble_sort(a: list):if a is None or len_a < 2:returnfor i in range(len_a, 0, -1):for j in range(i):if j == 0:continueif a[j] > a[j ...
#!/usr/bin/env python#coding:utf-8import types,sys# 简单的排序l=[1,9,2,3,-1,724,219,888]for i in range(len(l)): for j in range(i,len(l)): if l[j] > l[i]: l[i],l[j]=l[j],l[i]print l# 定义为函数并加入判断的排序def sort(list_sort): if type(list_sort) == types.ListType: # 判断输入的是否为列表 if len(list_sort)==0: # 判断列表长度 ...
def bubble_sort(blist):count = len(blist)for i in range(0, count):for j in range(i + 1, count):if blist[i] > blist[j]:blist[i], blist[j] = blist[j], blist[i]return blistblist = bubble_sort([4,5,6,7,3,2,6,9,8])print(blist)
原文:https://www.cnblogs.com/sea-stream/p/9689044.html
numbers = [11,33,55,99,6,13]print ("original=",numbers)for j in range(len(numbers) -1, -1, -1): for i in range(j): if numbers[i] > numbers[i+1]: #把数值小的数字放到顶端 numbers[i], numbers[i+1] = numbers[i+1], numbers[i] print ("i=",i,"j=",j) print (numbers)C:\Users\admin\AppData\Local\Programs\Python\Python35\python.exe D:/OneDrive/python/mao...
测试环境: 处理器i5-3230M,64位Ubuntu 14.04 Python 2.7.6, PHP 5.4.39, PHP 7.0.0-dev(2015/04/21) 测试内容: 冒泡排序:对10个升序的数进行排序,降序输出,循环1百万次. 累加求和:0+1+2+3+...+99999999 冒泡排序测试结果对比: 程序: Python PHP5 PHP7 耗时: 16.910s 14.715s 8.011s 内存: 35.8m 9.0m 12.5m 累加求和测试结果对比: 程序: Python PHP5 PHP7 耗时: 10.057s...
冒泡排序是一种简单的排序技术,它通过比较相邻的元素遍历整个列表,对它们进行排序并交换元素,直到对整个列表进行排序。算法:给定一个包含n个元素的列表L,这些元素的值或记录为L0, L1,…,Ln-1,冒泡排序用于对列表L进行排序。比较列表中的前两个元素L0和L1。如果L1 < L0,交换这些元素,然后继续下面的两个元素。重复相同的步骤,直到整个列表被排序,这样就不可能进行更多的交换。返回最终排序的列表。python冒泡排序代码如...
冒泡排序的基本思想:冒泡排序是依次走访两个相邻的数,进行比较(除最后一个数),直到排序完成 。例: arr = [49,38,04,97,76,13,27,49,55,65],交换 arr = [38,49,04,97,76,13,27,49,55,65],交换 arr = [38,04,49,97,76,13,27,49,55,65],依次走访直到排序完成代码: def bubble_sort(lists): #冒泡排序 count = len(lists) while count > 0: for i in range(count - 1): #最后一位数不进行比较 key ...