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:
A Guide to Spring Boot Admin
Validations for Enum Types
New Features in Java 15
Java Deep Learning Essentials - Yusuke Sugomori
Introduction to Using Thymeleaf in Spring
Java Program to Implement Booth Algorithm
Exploring the Spring Boot TestRestTemplate
Custom JUnit 4 Test Runners
Apache Commons Collections SetUtils
How to Add a Single Element to a Stream
Getting Started with Custom Deserialization in Jackson
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Implement ConcurrentHashMap API
Assert an Exception is Thrown in JUnit 4 and 5
A Guide to HashSet in Java
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Using Spring ResponseEntity to Manipulate the HTTP Response
Uploading MultipartFile with Spring RestTemplate
Java Program to Check whether Graph is a Bipartite using BFS
Hướng dẫn Java Design Pattern – Factory Method
Filtering a Stream of Optionals in Java
Java Program to Implement Stack
Java Program to Implement Circular Singly Linked List
Spring Boot - Scheduling
Tổng quan về ngôn ngữ lập trình java
Semaphore trong Java
An Intro to Spring Cloud Security
Java Program to Implement D-ary-Heap
Spring – Injecting Collections
Introduction to Spring MVC HandlerInterceptor
Comparing Objects in Java
Java Streams vs Vavr Streams