Python算法(一) 数组冒泡排序(难度等级:easy)

作者: 高杆python | 来源:发表于2017-09-21 12:37 被阅读366次

冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。
算法原理:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的数据元素放到队尾。
Python代码1:

#Python算法--冒泡排序1
import random
def main(array):
    for i in range(1,len(array)):
        for j in range(len(array)-i):
            if array[j] > array[j+1]:
                array[j],array[j+1]=array[j+1],array[j]
    print("冒泡排序数组:",array)
if __name__ == '__main__':
    array = []
    for i in range(15):
        array.append(random.randint(1,1000)) 
    print("随机生成数组:",array)
    main(array)

执行效果:

python冒泡排序1
Python代码2:
#Python算法--冒泡排序2
import random
def main(array):
    num = len(array)
    while num > 0:
        for j in range(num-1):
            if array[j] > array[j+1]:
                array[j],array[j+1]=array[j+1],array[j]
        num-=1
    print("冒泡排序数组:",array)
if __name__ == '__main__':
    array = []
    for i in range(15):
        array.append(random.randint(1,1000)) 
    print("随机生成数组:",array)
    main(array)

代码1和代码2写法略有不同,但原理相同,测试执行效率相同。

相关文章

  • Python算法(一) 数组冒泡排序(难度等级:easy)

    冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。算法原理:从无序序列头...

  • Python算法(二) 数组选择排序(难度等级:easy)

    选择排序(Selection sort)是一种简单直观的比较排序算法。算法原理:每次从待排序的数据元素中选出最小(...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

  • 算法总结

    1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 //冒泡排序(数组排序) function bubb...

  • PHP排序算法

    排序算法 冒泡排序(数组排序) 快速排序(数组排序) 参考 http://www.cnblogs.com/enia...

  • Python排序算法有哪几种?

    python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔...

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • 冒泡排序法

    python排序算法之冒泡排序 首先说一下冒泡排序原理: 冒泡排序(Bubble Sort),是一种计算机科学领域...

  • 算法总结

    一,排序算法:冒泡排序,选择排序,快速排序,归并排序,插入排序,堆排序,希尔排序冒泡排序:会重复的比较数组中相邻的...

  • 排序算法

    常见的排序算法 常见的排序算法有:插入、希尔、选择、冒泡、归并、快速、堆排序。。。 插入排序 算法步骤一、从数组的...

网友评论

    本文标题:Python算法(一) 数组冒泡排序(难度等级:easy)

    本文链接:https://www.haomeiwen.com/subject/sgszsxtx.html