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:
Java Program to Implement String Matching Using Vectors
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Convert String to int or Integer in Java
Java Program to Implement Bit Array
Java Program to Implement Sorted Circular Doubly Linked List
A Guide to Java 9 Modularity
Biểu thức Lambda trong Java 8 – Lambda Expressions
Immutable Objects in Java
Giới thiệu SOAP UI và thực hiện test Web Service
Service Registration with Eureka
Java Program to Create a Random Graph Using Random Edge Generation
Tổng quan về ngôn ngữ lập trình java
Java Program to Implement Sorted List
Java toString() Method
Java Program to Find Maximum Element in an Array using Binary Search
Java – Convert File to InputStream
Introduction to Netflix Archaius with Spring Cloud
Primitive Type Streams in Java 8
Spring Boot Integration Testing with Embedded MongoDB
Guide to ThreadLocalRandom in Java
Serialization và Deserialization trong java
Java Program to Compute DFT Coefficients Directly
Java InputStream to Byte Array and ByteBuffer
Introduction to Spring Boot CLI
Java Program to Implement Kosaraju Algorithm
Java Program to Implement the MD5 Algorithm
Split a String in Java
Spring Security 5 for Reactive Applications
Java Program to find the peak element of an array using Binary Search approach
String Initialization in Java
Phương thức forEach() trong java 8
TreeSet và sử dụng Comparable, Comparator trong java