Golang程序 查找数组中第一次出现的指定项目的索引

Golang程序 查找数组中第一次出现的指定项目的索引

在这篇文章中,我们将写一个go语言程序来寻找数组中第一次出现的指定项的索引。我们将使用for循环和内置的go库函数来实现这个结果。

方法1:使用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 步 – 现在,在屏幕上打印数组,并使用排序包中的IntSlice()和Sort()函数将数组按升序排序。

第 4 步 – 进一步,在屏幕上打印排序后的数组,并将要搜索的元素存储在一个名为elem的变量中。

第5步 - 现在,为了获得上述所选元素的索引,使用排序包中的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

方法2:使用SearchString()函数

语法

type StringSlice []string

StringSlice()函数存在于sort包中。该函数用于将接口方法附加到字符串数组上,从而可以按递增顺序进行排序。

func SearchStrings(a []int, x int) int

SearchStrings()函数存在于sort包中。该函数用于搜索字符串数组中的一个特定元素。该函数接受数组和要搜索的元素作为函数的参数,并将该特定元素的索引作为结果返回。

算法

第1步 - 首先,我们需要导入 fmt 和 sort 包。

第2步 - 然后,启动main()函数。在main()中,使用make函数初始化一个字符串数组,使用append()函数将元素存储到数组中。

第3 步 – 现在,在屏幕上打印数组,并使用排序包中的StringSlice()和Sort()函数将数组按升序排序。

第 4 步 – 进一步,在屏幕上打印排序后的数组,并将要搜索的元素存储在一个叫做elem的变量中。

第5步 - 现在,为了获得上述所选元素的索引,使用排序包中的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

总结

我们已经成功地编译了一个golang程序,用于查找数组中第一次出现的指定项的索引,并附有实例。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程