使用冒泡排序法将数组按降序排列的 Swift 程序


Swift 中的冒泡排序算法是最简单的搜索算法。该算法通过重复交换相邻元素(如果它们不在正确的位置)来对元素进行排序。所以现在我们使用冒泡排序法将数组按降序排列。

例如 -

Array - [4, 7, 1, 8]
  • 第一次迭代 - 比较两个元素,如果第一个元素小于第二个元素,则交换它们的位置。如果不是,则移动到下一对。

[4, 7, 1, 8] 4<7, swap the position [7, 4, 1, 8] 4>1, remain same [7, 4, 1, 8] 1<8, swap the position [7, 4, 8, 1]
  • 第二次迭代 - 再次比较两个元素,如果第一个元素小于第二个元素,则交换它们的位置。

[7, 4, 8, 1] 7>4, remain same [7, 4, 8, 1] 4<8, swap position [7, 8, 4, 1] 4>1, remain same
  • 第三次迭代 - 再次比较两个元素,如果第一个元素小于第二个元素,则交换它们的位置。

[7, 8, 4, 1] 7<8, swap position [8, 7, 4, 1] 7>4, remain same [8, 7, 4, 1] 4>1, remain same So the sorted array in descending order is [8, 7, 4, 1]

算法

  • 步骤 1 - 创建一个函数,使用冒泡排序算法将数组按降序排列。

  • 步骤 2 - 在函数内部,我们运行嵌套的 for-in 循环以遍历给定数组中每对相邻元素。

  • 步骤 3 - 检查 array[y]<array[y+1]。如果是,则互换元素的位置。如果不是,则移动到下一对。

  • 步骤 4 - 现在在函数外部创建一个整数类型的数组。

  • 步骤 5 - 调用函数并将数组传递给它。

  • 步骤 6 - 打印排序后的数组。

示例

在下面的示例中,我们将创建一个名为 mBubbleSort() 的函数。此函数将数组作为输入,并使用冒泡排序算法将给定数组按降序排序。此函数使用嵌套的 for-in 循环迭代给定数组中的每对相邻元素,如果第一个元素小于第二个元素,则交换它们。此过程持续到最后一个未排序的元素。这里函数使用 inout 参数修改原始数组。最后显示排序后的数组。

Open Compiler
import Foundation import Glibc // Function to sort array in descending 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 = [67, 3, 22, 89, 12, 1, 55, 80, 4] mBubbleSort(&arr) print("Sorted array in descending order: \(arr)")

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

Sorted array in descending order: [89, 80, 67, 55, 22, 12, 4, 3, 1]

结论

因此,这就是我们如何使用冒泡排序法将数组按降序排列。该算法仅适用于少量元素,不适用于大量元素,因为它的平均和最坏情况时间复杂度较高。

更新于: 2023年4月24日

374 次查看

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告