python算法学习记录----冒泡排序

''''
今天记录一下冒泡排序算法
所谓排序无非把一些数字按一定的规则进行排列,比如把【1,3,4,2,6,5,8】
排列成【1,2,3,4,5,6,8】的形式,下面开始写代码
'''

#首先定义一个函数
#参数直接传入一个列表
def my_sort_(array):
    #对排序过程进行循环,次数为列表的长度
    for i in range(len(array)):
        #对列表进行遍历,次数为列表长度减去i再减1
        for j in range(0,len(array)-i-1):
            #这里我们对array[j]和array[j+1]进行判断,并且创建一个temp变量
            #为什么要创建一个temp变量呢,这里涉及到变量的引用问题
            #我们假设array[0]-->1,array[1]-->2,如果我们直接交换array[0]和array[1]的话,
            #在交换过程中会造成数据损失,由于在python中,变量名类似一种应用指针,它是通过地址来访问
            #数据的,对变量名赋值实际上是在更改变量名所代表的地址,例如 a=1, a=2,a代表的是不同的地址
            #当我们把a重新赋予2时,1就被垃圾收集掉了,所以为了保存数据,我们需要重新把1赋予一个变量
            # 所以我们需要创建一个temp变量来保存数据
            if array[j]>array[j+1]:
                temp = array[j]
                array[j] = array[j+1]
                array[j+1] = temp
    return array

你可能感兴趣的:(算法python)