核心思想:重复地遍历要排序的数组,一次比较两个元素,只要顺序不对就交换
步骤:
- 从数组的第一个元素开始,依次比较相邻的两个元素
- 如果前面的元素比后面的元素大,交换它们的位置
- 重复这个过程,直到最后一个元素
- 对所有元素重复以上步骤,直到没有任何一个元素需要再交换
分析:
- 时间复杂度: 最坏时间复杂度是 O(n^2),因为有两层嵌套循环,每层循环最多进行 n−1 次比较
- 空间复杂度: 原地排序算法,空间复杂度 O(1)
实现代码
搜索
核心思想:重复地遍历要排序的数组,一次比较两个元素,只要顺序不对就交换
步骤:
分析:
实现代码