Swift程序:查找数组中第二大的元素
在Swift中,我们可以使用`sort()`函数或自定义函数来查找给定数组中的第二大元素。例如,我们有以下数组:
Array = [34, 23, 1, 45, 3]
因此,最大元素是45,第二大元素是34。让我们详细讨论这两种方法以及示例。
方法一
在这种方法中,我们通过创建自定义函数来查找指定数组中的第二大元素。
示例
在下面的示例中,我们将创建一个名为“secondlargestElement”的函数,它接受一个数组作为参数并返回指定数组的第二大元素。此函数首先按升序对输入数组进行排序,然后返回数组末尾的第二大元素。因此,要打印输出,我们需要调用secondlargestElement()函数并将数组传递给它。
import Foundation import Glibc // Function to find second largest element from the array 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] } // Test Array var arr = [3, 4, 19, 4, 18, 3, 20, 3, 22] print("Second Largest Element is", secondlargestElement(a:arr))
输出
Second Largest Element is 20
方法二
在这种方法中,我们首先使用`sort(by:>)`函数按降序对数组元素进行排序,然后查找数组的第二个元素,因为第一个元素是最大元素,而数组的第二个元素是数组的第二大元素。
示例2
在下面的示例中,我们将有一个整数类型的数组。然后我们使用`sort(by:>)`函数按降序对数组进行排序。现在查找数组的第二个元素,因为在排序后的数组中,第二个元素包含第二大元素。
import Foundation import Glibc // Test case var arr = [34, 10, 4, 9, 19, 45, 23, 87, 2, 4] // Sort the array in descending order arr.sort(by:>) // Finding Second largest element let result = arr[1] print("Second largest element is \(result)")
输出
Second largest element is 45
结论
这就是我们如何从数组中查找第二大元素的方法。这两种方法都能提供准确的结果。这些方法适用于任何数据类型,例如整数、浮点数、双精度数等,只需进行一些小的更改。
广告