Swift 语言数组元素升序排序程序
在本文中,我们将学习如何编写一个 Swift 程序来对数组中的元素进行升序排序。
我们将使用以下两种方法:
无参数的 `sort()` 函数
带参数的 `sort(by:)` 函数
Swift 提供了一个名为 `sort()` 的内置函数来对数组元素进行排序。此函数可以带或不带参数。默认情况下,此函数按升序排序数组。否则,可以在 `sort(by:)` 函数的 `by` 参数中传递 `<` 来按升序排序数组。
方法 1:无参数的 `sort()` 函数
Swift 提供了一个名为 `sort()` 的内置函数来对数组元素进行排序。此函数可以带或不带参数,但此处我们使用无参数的 `sort()` 函数。默认情况下,此函数按升序排序数组。
语法
func sort()
`sort()` 函数按升序排序数组。
算法
步骤 1 - 创建一个数组。
步骤 2 - 使用 `sort()` 方法按升序排序数组
Array1.sort()
步骤 3 - 显示原始数组。
步骤 4 - 显示排序后的数组
示例
在下面的示例中,我们没有在 `sort()` 函数中传递任何参数来按升序排序数组。
import Foundation
import Glibc
// Creating arrays
var Array1 : [String] = ["birds", "sky", "moon", "cloud"]
var Array2 : [Int] = [23, 56, 7, 5, 84, 2]
var Array3 : [Float] = [3.4, 67.3, 1.2, 5.6, 78.3]
// Sorting the array in ascending order
// Using sort() method
print("Before Sorting Array 1 is:", Array1)
Array1.sort()
print("After Sorting Array 1 is", Array1)
print("\nBefore Sorting Array 2 is:", Array2)
Array2.sort()
print("After Sorting Array 2 is", Array2)
print("\nBefore Sorting Array 3 is:", Array3)
Array3.sort()
print("After Sorting Array 3 is", Array3)
输出
Before Sorting Array 1 is: ["birds", "sky", "moon", "cloud"] After Sorting Array 1 is ["birds", "cloud", "moon", "sky"] Before Sorting Array 2 is: [23, 56, 7, 5, 84, 2] After Sorting Array 2 is [2, 5, 7, 23, 56, 84] Before Sorting Array 3 is: [3.4, 67.3, 1.2, 5.6, 78.3] After Sorting Array 3 is [1.2, 3.4, 5.6, 67.3, 78.3]
在上面的代码中,我们创建了一个包含三种不同类型(整数、浮点数和字符串)的数组。现在,使用 `sort()` 函数,我们将所有数组按升序(从小到大)排序。
方法 2:带参数的 `sort()` 函数
为了按升序对数组元素进行排序,我们使用预定义的 `sort(by:)` 函数及其 `by` 参数。这里的 `by` 参数负责排序数组的顺序。如果 `by` 参数的值为 `<`,则 `sort(by:)` 函数将数组按升序排序。如果 `by` 参数的值为 `>`,则 `sort(by:)` 函数将数组按降序排序。
语法
func sort(by: <)
我们在这里在 `sort()` 函数中传递 `<` 来按升序排序数组。
算法
步骤 1 - 创建一个数组。
步骤 2 - 使用 `sort(by:)` 方法按升序排序数组
Array1.sort(by:>)
步骤 1 - 显示原始数组。
步骤 2 - 显示排序后的数组
示例
在下面的示例中,我们使用 `sort(by:)` 方法的参数来按升序排序数组。
import Foundation
import Glibc
// Creating arrays
var Array1 : [String] = ["birds", "sky", "moon", "cloud"]
var Array2 : [Int] = [73, 2, 87, 4, 9, 1]
var Array3 : [Float] = [84.3, 2.1, 3.5, 9.3, 1.3]
// Sorting the array in ascending order
// Using sort(by:<) method
print("Before Sorting Array 1 is:", Array1)
Array1.sort(by:<)
print("After Sorting Array 1 is", Array1)
print("\nBefore Sorting Array 2 is:", Array2)
Array2.sort(by:<)
print("After Sorting Array 2 is", Array2)
print("\nBefore Sorting Array 3 is:", Array3)
Array3.sort(by:<)
print("After Sorting Array 3 is", Array3)
输出
Before Sorting Array 1 is: ["birds", "sky", "moon", "cloud"] After Sorting Array 1 is ["birds", "cloud", "moon", "sky"] Before Sorting Array 2 is: [73, 2, 87, 4, 9, 1] After Sorting Array 2 is [1, 2, 4, 9, 73, 87] Before Sorting Array 3 is: [84.3, 2.1, 3.5, 9.3, 1.3] After Sorting Array 3 is [1.3, 2.1, 3.5, 9.3, 84.3]
在上面的代码中,我们创建了一个包含三种不同类型(整数、浮点数和字符串)的数组。现在,我们在 `sort(by:<)` 函数的 `by` 参数中传递 `<`,以便将所有数组按升序(从小到大)排序。
结论
这就是我们如何使用相同的 `sort()` 函数以两种不同的方式(带参数和不带参数)按升序排序数组。在这两种情况下,`sort()` 函数的复杂度保持不变,均为 O(n log n),其中 n 表示序列的长度。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP