关于算法: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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理