This commit is contained in:
krahets
2024-03-25 22:43:12 +08:00
parent 22017aa8e5
commit 87af663929
70 changed files with 7428 additions and 32 deletions
+39
View File
@@ -253,6 +253,24 @@ comments: true
}
```
=== "Kotlin"
```kotlin title="bubble_sort.kt"
/* 冒泡排序 */
fun bubbleSort(nums: IntArray) {
// 外循环:未排序区间为 [0, i]
for (i in nums.size - 1 downTo 1) {
// 内循环:将未排序区间 [0, i] 中的最大元素交换至该区间的最右端
for (j in 0..<i) {
if (nums[j] > nums[j + 1]) {
// 交换 nums[j] 与 nums[j + 1]
nums[j] = nums[j+1].also { nums[j+1] = nums[j] }
}
}
}
}
```
=== "Zig"
```zig title="bubble_sort.zig"
@@ -535,6 +553,27 @@ comments: true
}
```
=== "Kotlin"
```kotlin title="bubble_sort.kt"
/* 冒泡排序(标志优化) */
fun bubbleSortWithFlag(nums: IntArray) {
// 外循环:未排序区间为 [0, i]
for (i in nums.size - 1 downTo 1) {
var flag = false // 初始化标志位
// 内循环:将未排序区间 [0, i] 中的最大元素交换至该区间的最右端
for (j in 0..<i) {
if (nums[j] > nums[j + 1]) {
// 交换 nums[j] 与 nums[j + 1]
nums[j] = nums[j + 1].also { nums[j] = nums[j + 1] }
flag = true // 记录交换元素
}
}
if (!flag) break // 此轮“冒泡”未交换任何元素,直接跳出
}
}
```
=== "Zig"
```zig title="bubble_sort.zig"