使用線性搜尋查詢陣列中最小元素的Go語言程式


在這篇Go語言文章中,我們將學習如何使用遞迴和迭代方法,透過線性搜尋在陣列中查詢最小元素。陣列是由相同資料型別元素組成的集合,這些元素排列在連續的記憶體塊中,並使用索引或下標訪問。

線性搜尋是一種簡單的搜尋演算法,它從列表或陣列的開頭開始,逐個檢查每個元素,直到找到目標值或搜尋完整個列表。它也稱為順序搜尋。

語法

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

minFind()函式用於使用線性搜尋查詢陣列中的最小元素。它接受一個整數陣列作為引數,並使用線性搜尋返回最小元素。

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

minFind()函式用於使用線性搜尋查詢陣列中的最小元素。它接受一個整數陣列和陣列長度作為引數,並使用線性搜尋返回最小元素。

方法一

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

演算法

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

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

  • 步驟3 − 首先,它將min變數初始化為陣列的第一個元素,然後使用for迴圈遍歷陣列。

  • 步驟4 − 如果它找到任何小於當前最小值的數字,它會將min的值更新為該數字,並返回min的值。

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

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

  • 步驟7 − 此外,最小元素使用fmt.Printf()函式列印到螢幕上。

示例

在下面的示例中,我們將建立一個Go語言程式,使用迭代方法透過線性搜尋查詢陣列中的最小元素。

package main

import "fmt"

func minFind(arr []int) int {
   min := arr[0]
   for _, num1 := range arr {
      if num1 < min {
         min = num1
      }
   }
   return min
}

func main() {
   arr := []int{20, 10, 45, 8, 12}
   min := minFind(arr)
   fmt.Printf("The minimum element in the array is: %d", min)
}

輸出

The minimum element in the array is: 8

方法二

在這種方法中,我們將使用遞迴方法定義一個minFind()函式,該函式用於使用線性搜尋查詢陣列中的最小元素。

演算法

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

  • 步驟2 − 現在,建立一個minFind()函式,該函式遞迴地使用線性搜尋查詢陣列中的最小元素。此函式接受整數陣列和陣列長度作為輸入。

  • 步驟3 − 然後,定義基本情況:當陣列長度為1時,只需返回陣列的第一個元素。

  • 步驟4 − 否則,對minFind()函式進行遞迴呼叫,將陣列長度減1,並將結果儲存在min變數中。

  • 步驟5 − 然後,檢查陣列的最後一個元素是否小於min,如果是,則返回該值。

  • 步驟6 − 最後,將min的值作為給定陣列中的最小元素返回。

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

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

  • 步驟9 − 此外,最小元素使用fmt.Printf()函式列印到螢幕上。

示例

以下是使用遞迴方法透過線性搜尋查詢陣列中最小元素的Go語言程式

package main

import "fmt"

func minFind(arr []int, n int) int {
   if n == 1 {
      return arr[0]
   }
   min := minFind(arr, n-1)
   if arr[n-1] < min {
      return arr[n-1]
   }
   return min
}

func main() {
   arr := []int{10, 23, 37, 19, 42}
   min := minFind(arr, len(arr))
   fmt.Printf("The minimum element in the array is: %d", min)
}

輸出

The minimum element in the array is: 10

結論

我們已經成功地編譯並執行了一個Go語言程式,該程式使用遞迴和迭代方法透過線性搜尋查詢陣列中的最小元素,並附帶兩個示例。在第一個示例中,我們使用了迭代方法,在第二個示例中,我們使用了遞迴方法。使用線性搜尋,將傳遞的陣列的最小元素作為結果列印到控制檯作為輸出。

更新於:2023年5月10日

985 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

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