在本教程中,我们将看到写一个go语言程序来搜索一个数组中最大的元素。数组是一个变量,用来在连续的内存位置存储元素。我们可以通过使用一个单独的函数或在main()函数中使用for循环和if条件来寻找数组中最大的元素。
在main函数()中查找数组中最大的元素
下面的代码说明了我们如何搜索并找到数组中的最大元素。
算法
第1步 - 导入fmt包,它允许我们在屏幕上打印任何东西。
第2步 - 启动主函数。这是程序的可执行部分,从这里开始执行。
第 3 步 – 初始化int类型的变量,即temp, largestNumber和j。
第 4 步 – 这些变量将在以后的程序中分别用来承载初始数和最大数。
第 5 步 – 建立一个整数数组,将数值存储到其中,并使用fmt.Println()函数将其打印在屏幕上。
第6 步 – 现在使用for循环遍历数组的每个元素,并使用if条件检查数组的当前元素是否大于先前存储的数字。
第7 步 – 如果找到的数字大于先前的数字,将该数字存储在maximumNumber变量中
第 8 步 – 升级临时计数,并将当前索引存储在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()部分实现了逻辑,而在第二个例子中,我们使用一个外部用户定义的函数来实现结果。