This is a java program to search sequence using binary search. This is a simple extension of binary search algorithm to find an element.
Here is the source code of the Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
package com.sanfoundry.combinatorial; import java.util.Random; import java.util.Scanner; public class BinarySearchSequence { public static void searchSequence(int[] array, int[] search) { int first, last, middle; first = 0; last = array.length - 1; boolean flag = true; for (int i = 0; i < search.length; i++) { middle = (first + last) / 2; while (first <= last && flag == true) { if (array[middle] < search[i]) { first = middle + 1; } else if (array[middle] == search[i]) { System.out.println(search[i] + " found at location " + (middle + 1) + "."); first = 0; last = array.length - 1; break; } else { last = middle - 1; } middle = (first + last) / 2; } if (first > last) { System.out .println(search[i] + " is not present in the list."); flag = false; } } } public static void main(String args[]) { int c, n, search[], array[]; Scanner in = new Scanner(System.in); System.out.println("Enter number of elements: "); n = in.nextInt(); array = new int[n]; Random rand = new Random(); for (c = 0; c < n; c++) { array = rand.nextInt(100); } System.out.println("Elements: "); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println("\nEnter length of sequence to find: "); int m = in.nextInt(); search = new int[m]; System.out.println("Enter the sequence to find: "); for (int i = 0; i < m; i++) { search[i] = in.nextInt(); } searchSequence(array, search); in.close(); } }
Output:
$ javac BinarySearchSequence.java $ java BinarySearchSequence Enter number of elements: 10 Elements: 68 45 85 63 7 48 44 93 10 20 Enter length of sequence to find: 2 Enter the sequence to find: 7 48 7 found at location 5. 48 found at location 6. Enter number of elements: 10 Elements: 60 52 44 55 55 25 34 97 24 18 Enter length of sequence to find: 3 Enter the sequence to find: 2 3 4 2 is not present in the list. 3 is not present in the list. 4 is not present in the list.
Related posts:
HttpAsyncClient Tutorial
Implementing a Runnable vs Extending a Thread
Java Program to Implement Trie
Checked and Unchecked Exceptions in Java
JPA/Hibernate Persistence Context
Getting Started with Forms in Spring MVC
Spring Security OAuth2 – Simple Token Revocation
Dockerizing a Spring Boot Application
Mockito and JUnit 5 – Using ExtendWith
Java Program to Implement CopyOnWriteArraySet API
Logging in Spring Boot
Java Program to Implement Dijkstra’s Algorithm using Queue
Java Program to Print only Odd Numbered Levels of a Tree
Convert a Map to an Array, List or Set in Java
Checking for Empty or Blank Strings in Java
Guide To CompletableFuture
Convert String to Byte Array and Reverse in Java
Java Program to Implement TreeMap API
Java Program to Implement the One Time Pad Algorithm
Comparing Arrays in Java
Filtering and Transforming Collections in Guava
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Apache Commons Collections BidiMap
A Guide to ConcurrentMap
Java Program to Perform Searching Using Self-Organizing Lists
Hashtable trong java
Java Program to Implement HashSet API
Guide to the Java Clock Class
Disable Spring Data Auto Configuration
Date Time trong Java 8
Java Program to Implement Stack using Two Queues
XML Serialization and Deserialization with Jackson