This commit is contained in:
krahets
2023-08-22 13:50:12 +08:00
parent 0c9bf14e20
commit 92a0853ab8
64 changed files with 478 additions and 479 deletions
+4 -4
View File
@@ -6,7 +6,7 @@ comments: true
「冒泡排序 bubble sort」通过连续地比较与交换相邻元素实现排序。这个过程就像气泡从底部升到顶部一样,因此得名冒泡排序。
图所示,冒泡过程可以利用元素交换操作来模拟:从数组最左端开始向右遍历,依次比较相邻元素大小,如果“左元素 > 右元素”就交换它俩。遍历完成后,最大的元素会被移动到数组的最右端。
如图 11-4 所示,冒泡过程可以利用元素交换操作来模拟:从数组最左端开始向右遍历,依次比较相邻元素大小,如果“左元素 > 右元素”就交换它俩。遍历完成后,最大的元素会被移动到数组的最右端。
=== "<1>"
![利用元素交换操作模拟冒泡](bubble_sort.assets/bubble_operation_step1.png)
@@ -29,11 +29,11 @@ comments: true
=== "<7>"
![bubble_operation_step7](bubble_sort.assets/bubble_operation_step7.png)
<p align="center"> 图利用元素交换操作模拟冒泡 </p>
<p align="center"> 图 11-4 &nbsp; 利用元素交换操作模拟冒泡 </p>
## 11.3.1 &nbsp; 算法流程
设数组的长度为 $n$ ,冒泡排序的步骤如图所示。
设数组的长度为 $n$ ,冒泡排序的步骤如图 11-5 所示。
1. 首先,对 $n$ 个元素执行“冒泡”,**将数组的最大元素交换至正确位置**,
2. 接下来,对剩余 $n - 1$ 个元素执行“冒泡”,**将第二大元素交换至正确位置**。
@@ -42,7 +42,7 @@ comments: true
![冒泡排序流程](bubble_sort.assets/bubble_sort_overview.png)
<p align="center"> 图冒泡排序流程 </p>
<p align="center"> 图 11-5 &nbsp; 冒泡排序流程 </p>
=== "Java"