使用冒泡排序法将数组按升序排序的Swift程序
在Swift中,冒泡排序算法是最简单的排序算法。此算法通过重复交换相邻元素(如果它们不在正确的位置)来对元素进行排序。现在,我们使用冒泡排序法对数组进行升序排序。
例如:
Array - [4, 7, 1, 8]
第一次迭代 - 比较两个元素,如果第一个元素大于第二个元素,则交换它们的位置。如果不是,则移动到下一对。
[4, 7, 1, 8] 4<7, remain same [4, 7, 1, 8] 7>1, swap the position [4, 1, 7, 8] 7<8, remain same
第二次迭代 - 再次比较两个元素,如果第一个元素大于第二个元素,则交换它们的位置。
[4, 1, 7, 8] 4>1, swap the position [1, 4, 7, 8] 4<7, remain same [1, 4, 7, 8] 7<8, remain same So the sorted array in ascending order is [1, 4, 7, 8]
算法
步骤1 - 创建一个函数,使用冒泡排序算法对数组进行升序排序。
步骤2 - 在函数内部,我们运行嵌套的for-in循环来遍历给定数组中每对相邻元素。
步骤3 - 检查array[y]>array[y+1]。如果是,则互换元素的位置。如果不是,则移动到下一对。
步骤4 - 现在,在函数外部创建一个整数类型的数组。
步骤5 - 调用函数并将数组传递给它。
步骤6 - 打印排序后的数组。
示例
在下面的示例中,我们将创建一个名为mBubbleSort()的函数。此函数将数组作为输入,并使用冒泡排序算法将给定数组排序为升序。此函数使用嵌套的for-in循环迭代给定数组中每对相邻元素,如果第一个元素大于第二个元素,则交换它们。此过程持续到最后一个未排序的元素。此处,函数使用inout参数修改原始数组。最后,显示排序后的数组。
import Foundation
import Glibc
// Function to sort array in ascending order using bubble sort
func mBubbleSort(_ array: inout [Int]) {
let size = array.count
for x in 0..<size {
for y in 0..<size-x-1 {
// Compare two adjacent elements
if array[y] > array[y+1] {
// Swap the elements if they are
// not in the correct order
let temp = array[y]
array[y] = array[y+1]
array[y+1] = temp
}
}
}
}
// Array of integer type
var arr = [56, 2, 89, 3, 87, 22, 1, 6, 4]
mBubbleSort(&arr)
print("Sorted array in ascending order: \(arr)")
输出
Sorted array in ascending order: [1, 2, 3, 4, 6, 22, 56, 87, 89]
结论
这就是我们如何使用冒泡排序法对数组进行升序排序。此算法仅适用于少量元素,因为它不适合大量元素,因为它的平均和最坏情况下的时间复杂度很高。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP