Go語言程式:查詢陣列中的最大元素


在本教程中,我們將學習如何編寫一個 Go 語言程式來查詢陣列中的最大元素。陣列是一個用於儲存在連續記憶體位置的元素的變數。我們可以透過使用單獨的函式或在 main() 函式中使用 for 迴圈和 if 條件來查詢陣列的最大元素。

在 Main 函式() 中查詢陣列中的最大元素

以下程式碼演示瞭如何搜尋和查詢陣列中存在的最大元素。

演算法

步驟 1 − 匯入 fmt 包,允許我們在螢幕上列印任何內容。

步驟 2 − 啟動 main 函式。這是程式的可執行部分,程式從這裡開始執行。

步驟 3 − 初始化 int 型別的變數,例如 temp、largestNumber 和 j。

步驟 4 − 這些變數稍後將在程式中分別用於儲存初始值和最大值。

步驟 5 − 建立一個整數陣列,向其中儲存值,並使用 fmt.Println() 函式將其列印到螢幕上。

步驟 6 − 現在使用 for 迴圈迭代陣列的每個元素,並使用 if 條件檢查陣列的當前元素是否大於先前儲存的數字。

步驟 7 − 如果找到的數字大於前一個數字,則將該數字儲存在 largestNumber 變數中。

步驟 8 − 更新 temp 計數器,並將當前索引儲存在 int 變數 j 中。

步驟 9 − 對整個陣列重複此過程。

步驟 10 − 完成此過程後,使用 fmt.Println() 函式將結果連同元素的位置一起列印到螢幕上。

示例

查詢陣列的最大元素,本程式使用 for 迴圈和條件語句。

package main
import "fmt"
func main() {
   var largestNumber, temp, j int
   arr := [5]int{100, -20, 300, 40, -50}
   fmt.Println("The unsorted array entered is:", arr)
   for i, element := range arr {
         if element > temp {
         temp = element
         largestNumber = temp
         j = i
      }
   }
   fmt.Println("Largest number of Array is ", largestNumber, "and its position is: ", j)
}

輸出

The unsorted array entered is: [100 -20 300 40 -50]
Largest number of Array is  300 and its position is:  2

使用兩個不同函式在陣列中查詢最大數字

現在讓我們看看如何使用使用者定義函式獲取陣列的最大元素。此函式接受一個整數陣列作為引數,並返回最終結果,我們可以使用 fmt.Println() 函式將其儲存並列印到螢幕上。

演算法

步驟 1 − 匯入 fmt 包,允許我們在螢幕上列印任何內容。

步驟 2 − 建立一個名為 findMaxElement() 的函式。此函式返回陣列的最大值及其位置。

步驟 3 − 使用 for 迴圈迭代陣列以獲取最大整數值。

步驟 4 − 啟動 main() 函式。

步驟 5 − 建立一個整數陣列,並向其中儲存值。使用 fmt.Println() 函式將陣列列印到螢幕上。

步驟 6 − 透過將陣列作為引數傳遞給函式來呼叫 findMaxElement() 函式,並將獲得的結果儲存在單獨的變數中。

步驟 7 − 使用 fmt.Println() 函式將最大值及其位置列印到螢幕上。

步驟 8 − 透過獲取更多陣列來重複此過程。

示例

在這個示例中,我們將使用 main 函式外部的使用者定義函式。

package main
import "fmt"

// Creating a function called getLargestValue
func findMaxElement(arr []int) (int, int) {
   largestNumber := arr[0]
   var k int
   for i := 0; i < len(arr); i++ {
      if arr[i] > largestNumber {
         largestNumber = arr[i]
         k = i
      }
   }
   return largestNumber, k
}
func main() {
   arr := []int{1, 2, 3, 4, -5, -10}
   fmt.Println("The first array is:", arr)
   result, index := findMaxElement(arr)
   fmt.Println("The largest number of the array is: ", result, "and its position is:", index)
   fmt.Println()
   arr = []int{10, 8, 0, 20, 30}
   fmt.Println("The second array is:", arr)
   result, index = findMaxElement(arr)
   fmt.Println("The largest number of the array is: ", result, "and its position is:", index)
}

輸出

The first array is: [1 2 3 4 -5 -10]
The largest number of the array is:  4 and its position is: 3

The second array is: [10 8 0 20 30]
The largest number of the array is:  30 and its position is: 4

結論

在本教程中,我們成功地執行了查詢陣列中最大數字的程式。在第一個示例中,我們在程式的 main() 部分實現邏輯,而在第二個示例中,我們使用外部使用者定義函式來實現結果。

更新於:2023年2月10日

2K+ 閱讀量

開啟您的 職業生涯

完成課程獲得認證

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