首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pythonwhile冒泡排序_python冒泡排序

# 冒泡法排序 ListBubbleSort.py fish_records = [18,8,7,2,3,6,1,1] # 原始排序 i=0 # 循环控制变量 compare=0 # 比较元素初始值...# 循环控制变量 while j if fish_records[j-1]>fish_records[j]: # 比较前后两元素哪个大 compare=fish_records[j-1] # 前一个大放到临时比较变量里...fish_records[j-1]=fish_records[j] # 把小元素放在前面 fish_records[j]=compare # 把临时变量里大元素放到后面 j+=1 # 内循环控制变量加...1 i+=1 # 外循环控制变量加 print(fish_records) # 打印冒泡排序结果 # ========================输出结果为从小到大增序集合 [1,1,2,3,6,7,8,18...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

98110

冒泡排序python实现_冒泡排序python代码优化

一、什么是冒泡排序 冒泡排序是一种简单排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻元素,当该对元素顺序不正确时进行交换。...第四轮排序,此时待排序序列包含前 2 个元素,对其进行冒泡排序整个过程如图 4 所示。...三、冒泡排序实现代码(python) def mao_pao(num_list): num_len = len(num_list) # 控制循环次数 for j in range(num_len):...– 有序度 有序度和逆序度取值范围: 0 ~ n*(n-1)/2 二、冒泡排序过程: 冒泡排序过程包含两个操作,比较和交换,因为冒泡排序只会交换相邻两个元素,所以,每进行一次交换,有序度就增加一...所以,冒泡排序执行过程中,总交换次数是确定,即为逆序度。

64030
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 冒泡排序_python

    要学习冒泡排序必须知道它原理: 冒泡排序算法原理如下: 比较相邻元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样工作,从开始第一对到结尾最后一对。...在这一点,最后元素应该会是最大数。 针对所有的元素重复以上步骤,除了最后一个。 持续每次对越来越少元素重复上面的步骤,直到没有任何一对数字需要比较。...这里面有n个数字,你要对其进行从大到小排序的话,你就要拿相邻两个数进行比较,如果第一个数比第二个大就交换他们位置:第二个就和第三个比较,一直这样下去,直到最小就会在最后面了,然后继续从第一和第二个进行比较...= a_list[i] if a_list[i] < a_list[i+1]: a_list[i] = a_list[i+1] a_list[i+1] =tmp print(a_list) 这样就是冒泡排序了...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.2K40

    Python|冒泡排序

    空间复杂度 :运行完一个程序所需内存大小。 n: 数据规模 In-place: 占用常数内存,不占用额外内存 ? ? ? ? 冒泡排序是一种简单排序算法。...如果第一个比第二个大,就交换它们两个; 步骤2: 对每一对相邻元素作同样工作,从开始第一对到结尾最后一对,这样在最后元素应该会是最大数; 步骤3: 针对所有的元素重复以上步骤,除了最后一个;...- t1)) t3 = time.time() new2 = RSort.bubbleSort(randomList) # print(new2) t4 = time.time() print("冒泡排序...:{}".format(RSort.isRight(randomList,new2))) print("冒泡排序耗时:{}".format(t4 - t3)) 快速排序耗时:0.025930404663085938...冒泡排序耗时:14.162765979766846 插入排序耗时:5.0889317989349365 选择排序耗时:7.227694034576416 堆排序耗时:14.017498254776001

    53420

    Python冒泡排序

    在本科学C++时候,一个最有意思程序就是冒泡啦,还记得那可是让无数人摸不清头脑,抓狂到喷血程序,的确很容易一时转不过来,不过一想通的话马上就觉得代码真的是amazing了~ 话不多说,直接上代码...+ 1],array[j] print (array) 来看结果 代码解释 for i in range(len(array)-1,0,-1) 复习一下seq[start:end:step],那么i值将会是...[6, 5, 4, 3, 2] for j in range(0,i) 循环赋值给j,j值将会是[0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4][0, 1, 2, 3][0, 1,...[j+1]=array[j+1],array[j] 替换赋值,排序 验证 array = [1, 2, 5, 3, 6, 8, 4] array.sort() print(array) 以上就是今天全部内容啦...我是小志,爱蹦爱跳爱折腾;现在是一名小研究生,在这里记录我每天学习和生活点滴,希望你们喜欢~

    658100

    Python|图述冒泡

    引言 在“小鲤鱼历险记”中,小鲤鱼绝活是吐泡泡,惹得好多人捧腹大笑,其实在数据算法世界里,也有一个有趣现象叫冒泡排序。...解决方案 冒泡排序就是交换排序一种排序方法 百度百科上面冒泡排序定义,是一种计算机科学领域较简单排序算法。...首先冒泡排序其实不是很难,相对于直接排序,冒泡排序算法程度是比较简单,因为直接排序一个一个比较大小,这样就会导致算法时间复杂度就会很大。所以我推荐用冒泡排序。...,所以就进行交换,这就像水泡泡,而小数就像水里泡泡一个一个浮上来,而相对大数就慢慢沉下去了,所以冒泡排序还是比较有趣。...结语 以上就是冒泡排序简单介绍,可能过程不是很详细,但是应该能够初步理解,有些数组用冒泡排序还是要进行很多趟排序才能够得到结果,但是冒泡排序是一种常用排序方法。

    43220

    Python实现冒泡排序

    一、冒泡排序简介 冒泡排序(Bubble Sort)是一种常见排序算法,相对来说比较简单。...在冒泡排序中,值最大(或最小)元素会通过交换慢慢“浮”到元素列表“顶端”。就像“冒泡”一样,所以被称为冒泡排序。 二、冒泡排序原理 冒泡排序原理如下: 1. 比较相邻两个元素。...对顺序错误元素进行位置交换。交换50和7位置。 ? 5. 一直“走访”到结尾,第一轮“冒泡”结束后,值最大元素“冒泡”到了列表结尾。50“冒泡”到了列表结尾。 ?...三、Python实现冒泡排序 # coding=utf-8 def bubble_sort(array): for i in range(1, len(array)): for...在冒泡排序中,最坏情况是元素列表初始状态是完全逆序排列,需要进行 n-1 轮“冒泡”,每一轮“冒泡”需要进行 n-i 次比较和交换操作。

    92930

    Python实现冒泡排序

    Python实现冒泡排序 一、冒泡排序简介 冒泡排序(Bubble Sort)是一种常见排序算法,相对来说比较简单。...在冒泡排序中,值最大(或最小)元素会通过交换慢慢“浮”到元素列表“顶端”。就像“冒泡”一样,所以被称为冒泡排序。 二、冒泡排序原理 冒泡排序原理如下: 1. 比较相邻两个元素。...对顺序错误元素进行位置交换。交换50和7位置。 5. 一直“走访”到结尾,第一轮“冒泡”结束后,值最大元素“冒泡”到了列表结尾。50“冒泡”到了列表结尾。...三、Python实现冒泡排序 # coding=utf-8 def bubble_sort(array): for i in range(1, len(array)): for...在冒泡排序中,最坏情况是元素列表初始状态是完全逆序排列,需要进行 n-1 轮“冒泡”,每一轮“冒泡”需要进行 n-i 次比较和交换操作。

    1.2K10

    Python算法——冒泡排序

    冒泡排序是一种基本比较排序算法,尽管不是最高效排序算法,但它有助于理解排序算法基本原理。本文将详细介绍冒泡排序工作原理和Python实现。...冒泡排序工作原理 冒泡排序基本思想是通过多次遍历数组,依次比较相邻两个元素,并根据比较结果交换它们位置。每一轮遍历都会将一个最大(或最小)元素"冒泡"到数组末尾,因此称为"冒泡排序"。...下面是一个示例,演示冒泡排序过程。...Python实现冒泡排序 下面是Python冒泡排序实现: def bubble_sort(arr): n = len(arr) for i in range(n):...示例代码 下面是一个使用Python进行冒泡排序示例代码: def bubble_sort(arr): n = len(arr) for i in range(n):

    1.9K10

    Python 3 冒泡排序】

    算法讲解 冒泡排序是一种简单直观排序算法(算法简单,效率低)。它重复地走访过要排序数列,一次比较两个元素,如果他们顺序错误就把他们交换过来。...走访数列工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法名字由来是因为越小元素会经由交换慢慢"浮"到数列顶端。...算法代码实现 Python 3 代码实现如下,随机生成20个数,保存到列表变量list1中,通过冒泡排序法进行排序,然后输出排序结果: from random import randrange import...范围内随机取20个数值 list1.append(randrange(0, 1000, 3)) print('排序前数组:',list1,'\n') # 通过两个for循环实现冒泡排序算法...list1[j + 1]: # 遇到较小值前后交换 list1[j], list1[j + 1] = list1[j + 1], list1[j] print('冒泡排序结果

    52120

    Python实战之冒泡排序

    冒泡排序作为一种简单但有效排序算法,是学习和理解Python编程良好起点。本文将介绍如何使用 Python 语言实现冒泡排序,并通过示例和测试来展示其工作原理和效果。...3.2 代码实现: 下面是使用 Python 实现冒泡排序算法: def bubble_sort(nums): for i in range(len(nums)): //使用for循环...4 总结与展望: 本文介绍了冒泡排序算法原理和实现方法,并给出了一个简单示例。通过学习冒泡排序,我们了解到排序算法基本思想和一种具体实现方式。...在后续学习中,我们还可以进一步探索其他排序算法,并比较它们性能和适用场景。 希望本文能帮助你更好地理解冒泡排序以及 Python 编程!...并持续保持对Python学习热情,Python还可以高效解决很多事情,让我们继续学习更多相关知识。 Python 小白晋级之路下一部分。

    20430

    Python 如何优化冒泡排序

    什么叫冒泡排序法? 相信有接触过算法朋友多少都了解冒泡排序法,那么什么是冒泡排序法呢?...冒泡排序,英文名称(Bubble Sort)是一种基础交换排序算法,在日常工作中经常会用到,例如:页面数据需按时间先后排序,这本质上也是一种冒泡排序法。...喝过可乐朋友都知道,可乐里面的气泡会向上浮,这就是冒泡排序一种最形象例子。至于有些朋友问,是大气泡先上浮还是小先上浮呢?这就取决于你需求去做控制了。...先上动图,再结合代码介绍一下冒泡排序算法执行过程。 ?...在这种情况下冒泡排序算法时间复杂度是 O(N^2) 鉴于基础版冒泡排序效率低下,改进版应运而生。

    1.1K20

    Python3冒泡排序

    Python3冒泡排序 概述 冒泡排序(Bubble Sort),是一种计算机科学领域较简单排序算法。 它重复地走访过要排序数列,一次比较两个元素,如果他们顺序错误就把他们交换过来。...走访数列工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 算法原理 冒泡排序算法运作如下: 比较相邻元素。如果第一个比第二个大,就交换他们两个。...对每一对相邻元素作同样工作,从开始第一对到结尾最后一对。在这一点,最后元素应该会是最大数。 针对所有的元素重复以上步骤,除了最后一个。...持续每次对越来越少元素重复上面的步骤,直到没有任何一对数字需要比较。 长按赞赏一瓶啤酒 ?...for i in range(0, 10): random_data.append(random.randint(1, 1000)) return random_data # 冒泡排序

    84260

    Python 算法之冒泡排序

    冒泡排序是什么 冒泡排序(Bubble Sort)也是一种简单直观排序算法。它重复地走访过要排序数列,一次比较两个元素,如果他们顺序错误就把他们交换过来。...走访数列工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法名字由来是因为越小元素会经由交换慢慢“浮”到数列顶端。...作为最简单排序算法之一,冒泡排序给我感觉就像 Abandon 在单词书里出现感觉一样,每次都在第一页第一位,所以最熟悉。...冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种优化对于提升性能来说并没有什么太大作用。 算法步骤 Step1:比较相邻元素。...如果第一个比第二个大,就交换他们两个位置。 Step2:对每一对相邻元素做同样工作,从开始第一对到结尾最后一对。这步做完后,最大数就是最后一个元素。

    25410
    领券