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:
Introduction to PCollections
Java Program to Find Maximum Element in an Array using Binary Search
Hướng dẫn Java Design Pattern – Factory Method
Apache Commons Collections BidiMap
Case-Insensitive String Matching in Java
Using a Mutex Object in Java
Spring 5 Testing with @EnabledIf Annotation
Guava – Join and Split Collections
Java Program to Implement Miller Rabin Primality Test Algorithm
How to Read a File in Java
Phương thức tham chiếu trong Java 8 – Method References
Spring RestTemplate Error Handling
Java Program to implement Bi Directional Map
A Guide to Java HashMap
Default Password Encoder in Spring Security 5
Java Program to Find Transpose of a Graph Matrix
Java Program to Implement Interpolation Search Algorithm
Java Program to find the peak element of an array using Binary Search approach
Exception Handling in Java
Java Program to Implement RenderingHints API
Hướng dẫn Java Design Pattern – Iterator
Java Program to Find All Pairs Shortest Path
Java Program to Check if a Given Binary Tree is an AVL Tree or Not
Comparing Two HashMaps in Java
Java Program to Implement the Program Used in grep/egrep/fgrep
Guava Collections Cookbook
Java Program to Implement Hash Tables with Linear Probing
Java Program to Implement Affine Cipher
Java Program to Implement Booth Algorithm
How to Get All Dates Between Two Dates?
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Java Program to implement Bit Set