使用線性搜尋查詢陣列中最大元素的 Golang 程式


在這篇 Golang 文章中,我們將學習如何使用遞迴和迭代方法,透過線性搜尋在陣列中找到最大元素。

語法

func findMax(arr []int) int {…}

findMax() 函式用於使用線性搜尋迭代地查詢陣列中的最大元素。它將一個整數陣列作為引數。

func findMax(arr []int, n int) int {…}

findMax() 函式用於使用線性搜尋遞迴地查詢陣列中的最大元素。它將一個整數陣列和陣列的大小作為引數。

演算法

  • 步驟 1 − 首先,我們需要匯入 fmt 包。

  • 步驟 2 − 現在,建立一個 findMax() 函式,該函式使用線性搜尋查詢陣列中的最大元素。

  • 步驟 3 − 它將陣列作為輸入,並返回陣列中存在最大元素。

  • 步驟 4 − 如果陣列為空或陣列長度等於 0,則函式返回 -1。

  • 步驟 5 − 如果陣列不為空,它會用陣列的第一個元素初始化一個變數 max。

  • 步驟 6 − 然後,它迭代陣列,如果任何元素的值大於 max 的當前值,則更新 max 值。

  • 步驟 7 − 啟動 main() 函式。在 main() 函式內部,建立一個包含一些元素的陣列。

  • 步驟 8 − 現在,呼叫 findMax() 函式並將陣列作為引數傳遞給該函式。

  • 步驟 9 − 此外,使用 fmt.Println() 函式在螢幕上列印陣列中得到的最大元素和定義的陣列。

示例 1:使用迭代方法的 Go 語言程式,用於使用線性搜尋在陣列中查詢最大元素

在本例中,我們將使用迭代方法定義一個 findMax() 函式,該函式用於使用線性搜尋在陣列中查詢最大元素。

package main

import "fmt"

func findMax(arr []int) int {
   if len(arr) == 0 {
      return -1
   }

   max := arr[0]
   for i := 1; i < len(arr); i++ {
      if arr[i] > max {
         max = arr[i]
      }
   }
   return max
}

func main() {
   arr := []int{13, 45, 67, 22, 97, 43, 74}

   max := findMax(arr)

   fmt.Println("Array defined is:", arr)
   fmt.Println("Maximum element in the array is:", max)
}

輸出

Array defined is: [13 45 67 22 97 43 74]
Maximum element in the array is: 97

示例 2

在本例中,我們將使用遞迴方法定義一個 findMax() 函式,該函式用於使用線性搜尋在陣列中查詢最大元素。

package main

import "fmt"

func findMax(arr []int, n int) int {
   if n == 1 {
      return arr[0]
   }

   max := findMax(arr, n-1)

   if arr[n-1] > max {
      return arr[n-1]
   }
   return max
}

func main() {
   arr := []int{13, 25, 67, 42, 80, 56, 44}
   
   max := findMax(arr, len(arr))

   fmt.Println("Array defined is:", arr)
   fmt.Println("Maximum element in the array is:", max)
}

輸出

Array defined is: [13 25 67 42 80 56 44]
Maximum element in the array is: 80

結論

我們已經成功地編譯並執行了一個 Go 語言程式,該程式使用遞迴和迭代方法以及兩個示例來使用線性搜尋查詢陣列中的最大元素。在第一個示例中,我們使用了迭代方法,在第二個示例中,我們使用了遞迴方法。

更新於: 2023 年 5 月 10 日

2K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.