用swift写一个冒泡排序
时间: 2023-12-15 21:58:20 浏览: 24
下面是一个使用 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]
```
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)