排序(Sortable)学习笔记

什么是排序算法?

排序算法是将一组无序的数据按照一定的规律进行排列的算法。排序算法是计算机程序中常用的基本操作之一,也是从各个方面评估算法优劣的重要指标。

常见的排序算法

  1. 冒泡排序(Bubble Sort)
  2. 选择排序(Selection Sort)
  3. 插入排序(Insertion Sort)
  4. 希尔排序(Shell Sort)
  5. 归并排序(Merge Sort)
  6. 快速排序(Quick Sort)
  7. 堆排序(Heap Sort)
  8. 计数排序(Counting Sort)
  9. 桶排序(Bucket Sort)
  10. 基数排序(Radix Sort)

实例演示

下面以Python语言为例,使用冒泡排序对列表进行排序。

pythonCopy Code
def bubble_sort(arr): n = len(arr) for i in range(n): flag = False # 设置标志位,如果没有发生交换,则无需继续排序 for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] flag = True if not flag: break return arr arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = bubble_sort(arr) print(sorted_arr) # 输出结果为[11, 12, 22, 25, 34, 64, 90]

以上代码中,我们定义了一个名为bubble_sort的函数。该函数的参数为待排序列表arr,返回值为排好序的列表。在函数内部,我们使用双重循环对列表进行排序,其中外层循环用于控制排序轮数,内层循环用于比较相邻元素的大小关系并进行交换。如果在一轮排序中未发生任何交换,则说明已经排好序,并且无需再进行下一轮排序,因此我们在代码中设置了一个标志位flag,用于判断是否需要继续排序。

使用其他排序算法的实例演示也与冒泡排序类似,只需将对应算法的代码替换掉即可。