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

結論

這就是我們如何從陣列中查詢第二大元素的方法。這兩種方法都能提供準確的結果。這些方法適用於任何資料型別,例如整數、浮點數、雙精度數等,只需進行一些小的更改。

更新於:2023年4月6日

2K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.