GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Java/Programs/InterpolationSearch.java at main · arshcoder13/Java Expand file tree/ Copy pathInterpolationSearch.javaMore file actions 39 lines (36 loc) · 1.27 KB / Copy pathInterpolationSearch.javaFile metadata and controls39 lines (36 loc) · 1.27 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 // Java program to implement interpolation public class InterpolationSearch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] arr = {12, 23, 10, 34, 55, 4, 68, 3, 73}; Arrays.sort(arr); System.out.println("sorted array- " + Arrays.toString(arr)); System.out.println("Enter value to search: "); int searchElement = sc.nextInt(); int index = interpolationSearch(arr, searchElement); if(index != -1){ System.out.println("Searched item " + arr[index] + " found at index "+index); }else{ System.out.println("Searched item " + searchElement + " not found in the array"); } sc.close(); } private static int interpolationSearch(int[] arr, int searchElement){ int start = 0; int end = arr.length - 1; int position; while ((arr[end] != arr[start]) && (searchElement >= arr[start]) && (searchElement <= arr[end])) { position = start + ((searchElement - arr[start]) * (end - start) / (arr[end] - arr[start])); if (arr[position] < searchElement) start = position + 1; else if (searchElement < arr[position]) end = position - 1; else return position; } if (searchElement == arr[start]) return start ; else return -1; } } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |