Swift 程序查找数组中的第二大元素
swiftserver side programmingprogramming更新于 2025/9/26 17:07:17
在 Swift 中,我们可以使用 sort() 函数或用户定义函数从给定数组中查找第二大元素。例如,我们有以下数组 -
Array = [34, 23, 1, 45, 3]
因此,最大元素是 45,第二大元素是 34。让我们通过示例详细讨论这两种方法。
方法 1
在此方法中,我们通过创建用户定义函数从指定数组中查找第二大元素。
示例
在下面的示例中,我们将创建一个名为"secondlargestElement"的函数,它接受一个数组作为参数,并返回指定数组的第二大元素。此函数首先按升序对输入数组进行排序,然后返回从数组末尾算起第二大的元素。因此,要打印输出,我们需要调用 secondlargestElement() 函数并将数组传递给它。
import Foundation
import Glibc
// 从数组中查找第二大元素的函数
func secondlargestElement(a:[Int])->Int{
var arr = a
for x in 0..<arr.count{
for y in x+1..<arr.count{
if (arr[x]>arr[y]) {
let t = arr[x]
arr[x] = arr[y]
arr[y] = t
}
}
}
return arr[arr.count-2]
}
// 测试数组
var arr = [3, 4, 19, 4, 18, 3, 20, 3, 22]
print("第二大元素是", secondlargestElement(a:arr))
输出
第二大元素是 20
方法 2
在此方法中,我们首先使用 sort(by:>) 函数对数组元素进行降序排序,然后找到数组的第二个元素,因为第一个元素是最大元素,而数组的第二个元素是第二大元素。
示例 2
在下面的示例中,我们将有一个整数类型的数组。我们使用 sort(by:>) 函数对数组进行升序排序。现在找到数组的第二个元素,因为在排序后的数组中,第二个元素包含第二大的元素。
import Foundation
import Glibc
// 测试用例
var arr = [34, 10, 4, 9, 19, 45, 23, 87, 2, 4]
// 按降序对数组进行排序
arr.sort(by:>)
// 查找第二大元素
let result = arr[1]
print("第二大元素是 \(result)")
输出
第二大元素是 45
结论
这就是我们从数组中找到第二大元素的方法。这两种方法都能提供准确的结果。这些方法适用于任何数据类型,如整数、浮点数、双精度等,只需进行一些细微的改动。