冒泡排序完整代码讲解

简介: 冒泡排序完整代码讲解

讲解都在注释了,真的很清楚了,还有问题请留言,麻烦点个赞加个关注。

好了,上代码:

#所谓冒泡,就是将元素两两之间进行比较,谁大就往后移动,直到将最大的元素排到最后面,接着再循环一趟,从头开始进行两两比较,而上一趟已经排好的那个元素就不用进行比较了
def sort(items):  #def嘛,就理解为定义一个函数。sort来代表顺序,sort是我们随便取的,最好英文
    for i in range(len(items) - 1):  #len用来取一串数据长度,长度能理解吧。range()表示范围呗,range(0,6)就表示0取到5,即取左不取右。这个循环来表示要循环次数。相领两个数字为一组,例子就有6组。
        for j in range(len(items) - 1 - i):#每循环一次我们就可以少循环一次,比如说i已经变为3,那我们就可以少运行三次,就在原来基础上减3.
            if items[j] > items[j + 1]:#如果前面这个数比后面这个数大
                items[j], items[j + 1] = items[j + 1], items[j]#满足如果,就执行这个语句。让他俩调换位置。这样不就前面的比后面的小了。
    return items#函数结果我们要结束语句 return +定义的items.你也可以不是items,换个别的你喜欢的都行。
#难点:主要是两个循环:第一个循环我们确定循环次数,第二个循环我们就要执行,每一次循环都要少一次。为什么我们是len(items)-1,len(items)等于7呀,七个数字
# range(7)就代表0,1,2,3,4,5,6但是我们总共只需要六次第八,俩俩一组,六组,所以我们要减一。
list1 = [2, 1, 9, 11, 10, 8, 7]#列表,自己设定
print(sort(list1))#打印出来,调用前面的函数sort(),打印的是list1,所以是print(sort(list1)
相关文章
|
2月前
|
搜索推荐
插入排序算法的讲解和代码
【10月更文挑战第12天】插入排序是一种基础的排序算法,理解和掌握它对于学习其他排序算法以及数据结构都具有重要意义。你可以通过实际操作和分析,进一步深入了解插入排序的特点和应用场景,以便在实际编程中更好地运用它。
|
4月前
|
编译器 C++
【CPP】交换排序:冒泡排序、快速排序
【CPP】交换排序:冒泡排序、快速排序
|
5月前
|
算法
快排(代码的实现)
快排(代码的实现)
|
6月前
|
机器学习/深度学习 算法 搜索推荐
数据结构算法--2 冒泡排序,选择排序,插入排序
**基础排序算法包括冒泡排序、选择排序和插入排序。冒泡排序通过相邻元素比较交换,逐步将最大值“冒”到末尾,平均时间复杂度为O(n^2)。选择排序每次找到剩余部分的最小值与未排序部分的第一个元素交换,同样具有O(n^2)的时间复杂度。插入排序则类似玩牌,将新元素插入到已排序部分的正确位置,也是O(n^2)复杂度。这些算法适用于小规模或部分有序的数据。**
|
6月前
|
算法 Java
冒泡排序就是这么容易
冒泡排序就是这么容易
26 1
|
7月前
|
搜索推荐 算法 Python
不了解冒泡排序的原理?
不了解冒泡排序的原理?
55 5
|
7月前
冒泡排序的快速排序——qsort函数的模拟实现
冒泡排序的快速排序——qsort函数的模拟实现
39 1
|
7月前
|
搜索推荐 Java
java实现冒泡排序和快速排序代码
java实现冒泡排序和快速排序
56 1
|
7月前
|
JavaScript 搜索推荐 前端开发
JS数组自定义排序方法,冒泡排序、插入排序、选择排序和快速排序。
JS数组自定义排序方法,冒泡排序、插入排序、选择排序和快速排序。
81 0