常见的排序方式有
- 冒泡排序
- 快速排序
- 插入排序
- 选择排序
- 归并排序
- 堆排序
- 希尔排序
- 计数排序
- 桶排序
- 基数排序
在这里我将讲一下冒泡排序法
冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并且交换他们的位置,直到整个列表排好序为止。冒泡排序算法的名称来自于每一轮排序过程中,最大或最小的元素会像气泡一样“浮”到列表的顶端。
下面是一个简单的Python实现冒泡排序的示例:
``python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1): # 需要进行n-1轮遍历
for j in range(n-i-1): # 每一轮遍历将最大值放到末尾
if arr[j] > arr[j+1]: # 如果前面的元素比后面的大,就交换它们的位置
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
``
在这个示例中,我们用两层嵌套循环来实现冒泡排序。外层循环控制需要进行多少轮遍历,而内存循环负责比较相邻元素并交换它们的位置。
冒泡排序算法的时间复杂度为O(n^2),如果列表已经排好序,它也需要进行n-1轮遍历。因此冒泡排序算法在大多数情况下不是一个高效的排序算法。
下面举一个例子
def bubble_sort(a