冒泡排序-python】的更多相关文章

Python实现 import random a=[random.randint(1,999) for x in range(0,33)] # 冒泡排序,python中数组是按引用传递的,会直接在原数组上修改 def bubbleSort(array): flag = True i=0 while i<len(array) and flag: j=len(array)-1 flag = False while j>i: if array[j-1] > array[j]: array[j-…
冒泡排序Python实现 # -*- coding: utf-8 -*- # @Time : 2019/10/28 19:41 # @Author : yuzhou_1shu # @Email : yuzhou_1shu@163.com # @File : bubble_sort.py # @Software: PyCharm def bubble_sort(collection): # 求序列的长度 length = len(collection) # 从序列中第一个元素开始以此跟后一个比较…
一.排序思想 排序思想参见:https://www.cnblogs.com/luomeng/p/10161794.html 二.python实现 def bubble_sort(nums): """ 冒泡排序 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表. Python2 range() 函数返回的是列表. :type nums: 待排序列 """ for i in ran…
题目: 如果一个list是一组打乱的数字 list1=[3,2,1,9,10,78,6] 如何用python将这组打乱的数字进行冒泡排序? 题解: def sort(nums): for i in range(len(nums)-1): #这个循环负责设置冒泡排序进行的次数 for j in range(len(nums)-i-1): #j为列表下标 if nums[j] > nums[j+1]: nums[j],nums[j+1]=nums[j+1],nums[j] return numsnu…
选择排序的时间复杂度为O(n^2),是不稳定的排序 冒泡排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),平均情况下为O(n^2),是稳定的排序 插入排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),,平均情况下为O(n^2),是稳定的排序 1.选择排序 def selection(lista): leng=len(lista); for i in range(0,leng): index=i; min=lista[i]; for j in range(i,leng)…
1.核心思想:比较两个元素,如果前一个比后一个大则进行交换,经过对每个元素的比较,最后最大的元素被放在在最后位置 操作方法: 外层正常for循环遍历,到n-1位,内层for循环相邻两个数比较大小,小数在左边,大数在右边. 第一趟外层循环会把最大数依次比较互换位置,逐渐挪动到最后,比如例子里面元素6(虽然6已经在最后一位了) 第二趟外层循环会把第二大的数选出来,所以内层循环次数会减少一次,因为最大数已经选出来了 .....直到遍历结束 2.优化: , 0, 3, 6 开始第一趟比较开始,经过3趟的…
一.冒泡排序介绍 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端. 二.冒泡排序原理 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.这一步做完,最后的元素应该会是最大的数. 针对所有的元素重复以…
最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对python相对比较熟悉,而且感觉用python实现数据结构相对容易一点.就把这个月来学到的一些,整理一下做个月底总结. 涉及到的书有<啊哈算法>.<复杂性思考>.<数据结构基础(C语言版) 第二版>.<Python Algorithms>,以及其他大牛们的网上教…
# 循环结构 ### 循环结构(while) - 格式 ```python while 表达式: 语句块 ``` > 执行流程:当程序执行到while语句时,首先判断表达式的真假.若表达式的值为真,则执行缩进的语句块,然后返回while,继续判断表达式的真假,直到表达式的值为假:若表达式的值为假,则直接跳过语句块,执行后面的代码. - 说明: - 表达式:也叫循环条件 - 语句块:也叫循环体 - 死循环:循环条件一直成立 - break:跳出循环 - continue:结束本次循环,进入下次循环…
python练习之冒泡排序: python代码: #coding=utf-8 if __name__=="__main__": arr=[3,2,1,7,11,4,5,8] print "Before_Sort:"+str(arr) lens=8 temp=0 for i in range(0,lens): j=i+1 for j in range(0,lens-1): if arr[i]<arr[j]: temp=arr[i] arr[i]=arr[j] a…