用swift写一个排序算法
时间: 2023-07-18 18:33:13 浏览: 128
好的,这里给您提供一个常见的排序算法——冒泡排序(Bubble Sort)的 Swift 代码实现:
```swift
func bubbleSort(_ array: inout [Int]) {
guard array.count > 1 else {
return
}
for i in 0..<array.count {
var swapped = false
for j in 1..<array.count-i {
if array[j] < array[j-1] {
array.swapAt(j, j-1)
swapped = true
}
}
if !swapped {
return
}
}
}
```
这个方法接收一个 `inout` 类型的数组参数,对它进行冒泡排序,并将排序后的结果直接修改原数组。排序过程中,使用了两层循环,外层循环用于控制排序的轮数,内层循环则用于比较相邻两个元素的大小并交换它们的位置。如果在一轮排序过程中没有发生任何交换操作,就说明数组已经有序了,可以直接返回。
相关问题
用swift写一个冒泡排序
下面是一个使用 Swift 编写的冒泡排序算法示例:
```swift
func bubbleSort(_ array: inout [Int]) {
guard array.count > 1 else {
return
}
for i in 0..<array.count {
var swapped = false
for j in 1..<array.count - i {
if array[j] < array[j - 1] {
array.swapAt(j, j - 1)
swapped = true
}
}
if !swapped {
return
}
}
}
```
这个函数接受一个 Int 数组作为参数,并将其原地排序。它使用两个嵌套的循环来比较和交换相邻的元素,直到数组完全排序为止。在第一次遍历期间,最大的元素会被移动到数组的末尾。在第二次遍历期间,除了最大的元素之外的最大元素会被移动到数组的末尾,以此类推。当没有元素需要交换时,算法将退出,因为数组已经排序完成。
以下是示例用法:
```swift
var array = [3, 2, 1, 4, 5]
bubbleSort(&array)
print(array) // [1, 2, 3, 4, 5]
```
请用Swift语言写一段冒泡排序算法
Swift语言写一段冒泡排序算法:func bubbleSort(array: [Int]) -> [Int] {
var array = array
for _ in 0..<array.count {
for j in 1..<array.count {
if array[j] < array[j-1] {
let temp = array[j-1]
array[j-1] = array[j]
array[j] = temp
}
}
}
return array
}
阅读全文