Q:

Golang program to search an item in the array using interpolation search

0

In this program, we will create an integer array and read elements from the user. Then we will search the given item in an array using interpolation search and print the appropriate message on the console screen.

Interpolation Search: The interpolation search is used to search items into the sorted array, it is similar to binary search but the calculation to find the middle element is different. We can say that it is the improved version of binary search.

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 the array using interpolation search is given below. The given program is compiled and executed successfully.

// Golang program to search an item in the array
// using interpolation search

package main

import "fmt"

func main() {
	var arr [5]int
	var item int = 0
	var flag int = 0
	var first int = 0
	var last int = 0
	var middle int = 0

	fmt.Printf("Enter array elements: \n")
	for i := 0; i <= 4; i++ {
		fmt.Printf("Elements: arr[%d]: ", i)
		fmt.Scanf("%d", &arr[i])
	}

	fmt.Printf("Enter item: ")
	fmt.Scanf("%d", &item)

	first = 0
	last = 4
	middle = first + (((last - first) / (arr[last] - arr[first])) * (item - arr[first]))

	for first := 0; first <= last; {
		if arr[middle] < item {
			first = middle + 1
		} else if arr[middle] == item {
			flag = middle
			break
		} else {
			last = middle - 1
		}
		middle = first + (((last - first) / (arr[last] - arr[first])) * (item - arr[first]))
	}

	if flag != 0 {
		fmt.Printf("Item %d found at index %d", item, flag)
	} else {
		fmt.Printf("Item %d not found in array")
	}
}

Output:

Enter array elements:
Enter array elements:
Elements: arr[0]: 12
Elements: arr[1]: 34
Elements: arr[2]: 56
Elements: arr[3]: 78
Elements: arr[4]: 97
Enter item: 56
Item 56 found at index 2

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 main() function, we created an array arr and read elements from the user. Then we searched items in an array using interpolation search. After that, If the item is found in the array then print the index of an item otherwise print the "Item not found in array" message 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