Q:

Golang program to search an item in ascending order sorted slice

belongs to collection: Golang Slices Programs

0

In this program, we will create an ascending order sorted slice of integers and then search an item into a slice using sort.Search() function.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program/Source Code:

The source code to search an item in ascending order sorted slice is given below. The given program is compiled and executed successfully.

// Golang program to search an item in a sorted slice

package main

import "fmt"
import "sort"

func main() {
	slice := []int{10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
	item := 40

	index := sort.Search(len(slice), func(index int) bool { return slice[index] >= item })

	if index < len(slice) && slice[index] == item {
		fmt.Printf("Item %d found at %d index", item, index)
	} else {
		fmt.Printf("Item %d not found", item)
	}
}

Output:

Item 40 found at 3 index

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt package that includes the files of package fmt then we can use a function related to the fmt package.

In the above program, we also imported the sort package to search an item into ascending order sorted slice using sort.Search() function and get the index of item into slice.

In the main() function, we created a slice of integers. Then search item into slice using sort.Search(), here we used the ">=" operator to search an item in ascending order slice. If an item is found in the slice then we will print the index of the item on the console screen.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Golang program to search an item in descending ord... >>
<< Golang program to check a specified slice of 64-bi...