Go语言程序:查找数组中指定元素的首次出现索引
本文将编写一个Go语言程序,用于查找数组中指定元素的首次出现索引。我们将使用for循环和内置的Go库函数来实现此结果。
方法一:使用SearchInts()库函数
语法
func Sort(data Interface)
sort()函数位于sort包中。此函数用于将数组按升序排序。待排序的数组作为参数传递给该函数。此函数的时间复杂度为O(n * logn)。
type IntSlice []int
IntSlice()函数位于sort包中。此函数用于将接口方法附加到int数组,以便可以按升序对其进行排序。
func SearchInts(a []int, x int) int
SearchInts()函数位于sort包中。此函数用于在整数数组中搜索特定元素。该函数接受数组以及要搜索的元素作为参数,并返回该特定元素的索引作为结果。
算法
步骤1 − 首先,我们需要导入fmt和sort包。
步骤2 − 然后,启动main()函数。在main()中,使用make函数初始化一个整数数组,并使用append()函数将元素存储到数组中。
步骤3 − 现在,在屏幕上打印数组,并使用sort包中的IntSlice()和Sort()函数将数组按升序排序。
步骤4 − 接下来,在屏幕上打印排序后的数组,并将要搜索的元素存储在一个名为elem的变量中。
步骤5 − 现在,为了获取上述所选元素的索引,使用sort包的SearchInts()函数,并将数组以及elem变量作为参数传递给该函数。
步骤6 − 将函数返回的结果(即该元素首次出现的索引)存储在一个变量中,并使用fmt.Println()函数在屏幕上打印它。
在这个例子中,我们将编写一个Go语言程序,使用SearchInts()库函数查找整数数组中元素的首次出现索引。
package main
import (
"fmt"
"sort"
)
func main() {
// initializing an array
array := make([]int, 0, 5)
array = append(array, 74, 59, -784, 784, 59)
a := sort.IntSlice(array[0:])
sort.Sort(a)
var elem int = 59
fmt.Println("The array is:", a)
pos := sort.SearchInts(a, elem)
fmt.Println("The position of", elem, "in the array is:", pos)
}
输出
The array is: [-784 59 59 74 784] The position of 59 in the array is: 1
方法二:使用SearchString()函数
语法
type StringSlice []string
StringSlice()函数位于sort包中。此函数用于将接口方法附加到字符串数组,以便可以按升序对其进行排序。
func SearchStrings(a []int, x int) int
SearchStrings()函数位于sort包中。此函数用于在字符串数组中搜索特定元素。该函数接受数组以及要搜索的元素作为参数,并返回该特定元素的索引作为结果。
算法
步骤1 − 首先,我们需要导入fmt和sort包。
步骤2 − 然后,启动main()函数。在main()中,使用make函数初始化一个字符串数组,并使用append()函数将元素存储到数组中。
步骤3 − 现在,在屏幕上打印数组,并使用sort包中的StringSlice()和Sort()函数将数组按升序排序。
步骤4 − 接下来,在屏幕上打印排序后的数组,并将要搜索的元素存储在一个名为elem的变量中。
步骤5 − 现在,为了获取上述所选元素的索引,使用sort包的SearchString()函数,并将数组以及elem变量作为参数传递给该函数。
步骤6 − 将函数返回的结果(即该元素首次出现的索引)存储在一个变量中,并使用fmt.Println()函数在屏幕上打印它。
示例
在这个例子中,我们将编写一个Go语言程序,使用SearchStrings()库函数查找整数数组中元素的首次出现索引。(原文有误,应为字符串数组)
package main
import (
"fmt"
"sort"
)
func main() {
// initializing an array
array := make([]string, 0, 7)
array = append(array, "d", "c", "b", "y", "x", "a", "x")
a := sort.StringSlice(array[0:])
sort.Sort(a)
var elem string = "x"
fmt.Println("The array is:", a)
pos := sort.SearchStrings(a, elem)
fmt.Println("The position of", elem, "in the array is:", pos)
}
输出
The array is: [a b c d x x y] The position of x in the array is: 4
结论
我们已经成功编译了一个Go语言程序,用于查找数组中指定元素的首次出现索引,并附带示例。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP