python+冒泡排序

冒泡排序真的是入门基础啦,下面就让我们来实现一下~

1.冒泡排序的思想:每次比较两个相邻元素,如果他们的顺序错误,就把它们交换位置;

2.冒泡排序的原理:每一趟只能讲一个数归位,如果有n个数进行排序,只需将n-1个数归位,也就是说要进行n-1趟操作(每一趟会归位一个最值所以已经归位的数不用再比较)

3.时间复杂度:O(n^2)

4.我的第一次实现:

numbers = [12,5,69,3,45,78,86,57,2]

for j in range(0,len(numbers)-1):

    for I in range(0,len(numbers)-1):

        if numbers[i]>=numbers[i+1]:

                a=numbers[i+1]

                numbers[i+1] = numbers[i]

                numbers[i] = a

print numbers

可以看到整个代码还是很幼稚的,对python没有深刻的理解,下面是比较好的写法

numbers = [12,5,69,3,45,78,86,57,2]

for j in range(0,len(numbers)-1):

    for i in range(0,len(numbers)-1-j):

        if numbers[i]>=numbers[i+1]:

                number[i],number[i+1] = number[i+1],number[i]

print numbers

我会持续更新哒,希望大家喜欢~

你可能感兴趣的:(python+冒泡排序)