今天给大家分享一下Python冒泡排序算法怎么实现?冒泡排序的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

Python冒泡排序算法怎么实现?冒泡排序的方法

首先我们需要知道的是什么是冒泡排序,它有什么作用?它是一种基本的排序算法,操作简单。它重复地遍历要排序的数列,一次同时进行两个元素比较,如果他们的大小顺序错误就把他们交换过来,重新排序。遍历数列的工作是重复地进行比较直到没有数字可以需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

算法的步骤

第一步:对两个左右挨着的的元素进行大小比较,如果第一个数要大于第二个数,这种按从大到小的排序叫做升序,小的排在前面,交换他们两个的位置。

第二步:对每一对左右挨着的元素作同样的工作,从开始第一对到结尾的最后一对,就是所谓的遍历数组,这步完成之后,就知道哪一个元素是最大的数。 

第三步:针对所有的元素重复一二的步骤,除了最后一个元素之外,这样就可以陆陆续续找出第二大、第三大元素。

第四步:然后每次对越来越少的元素重复一二三的步骤,一直持续直到没有任何一对数字需要进行比较。冒泡的过程是n-1次。

下面看一个案例:

import time
hh = [10, 20, 15, 14, 15,30, 5, 35]
print("没排序前的列表为:",hh)
start = time.time()# 记录开始时间

# 外层循环i控制轮数

for i in range(len(hh) - 1):

    # 内层循环j控制比较次数

    for j in range(len(hh) - i - 1):

        # 如果前一个数字比后一个数字大,就交换位置,以此类推

        if hh[j] > hh[j + 1]:
            # python特有交换位置方式
           hh[j],hh[j + 1] = hh[j + 1], hh[j]
print("排序好的列表为:", hh)

# 记录结束时间

end = time.time()
print("算法总耗时:", end - start)

输出:

没排序前的列表为:[10, 20, 15, 14, 15,30, 5, 35]

排序好的列表为:[5,10,14,15,15,20,30,35]

算法总耗时:1.0

以上就是“Python冒泡排序算法怎么实现?冒泡排序的方法”这篇文章的所有内容,如果还想学习更多的知识!可以继续关注哦!我每天都会为大家更新不同的知识。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!