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:
Spring Boot with Multiple SQL Import Files
Java Program to Check whether Graph is a Bipartite using BFS
Cơ chế Upcasting và Downcasting trong java
Mapping a Dynamic JSON Object with Jackson
Java Program to Implement Max-Flow Min-Cut Theorem
Java Program to Perform Arithmetic Operations on Numbers of Size
Phân biệt JVM, JRE, JDK
A Guide to @RepeatedTest in Junit 5
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
Java Program to Describe the Representation of Graph using Adjacency List
Redirect to Different Pages after Login with Spring Security
Java Program to Implement Caesar Cypher
Converting a List to String in Java
Ép kiểu trong Java (Type casting)
Spring Boot - Zuul Proxy Server and Routing
Java Program to Implement Sorted Vector
Class Loaders in Java
Kuhn's Algorithm for Maximum Bipartite Matching
Spring JDBC
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Guide to the Synchronized Keyword in Java
Send email with SMTPS (eg. Google GMail)
Spring REST with a Zuul Proxy
Exploring the Spring Boot TestRestTemplate
Java – Reader to InputStream
Inheritance and Composition (Is-a vs Has-a relationship) in Java
How to Iterate Over a Stream With Indices
Java Program to Implement Rolling Hash
Java Program to Generate Random Numbers Using Middle Square Method
Java Program to Find Number of Articulation points in a Graph
Quick Guide to Spring MVC with Velocity
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers