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:
New Features in Java 10
Java Program to Implement JobStateReasons API
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java Program to Implement Floyd-Warshall Algorithm
Java Program to Implement Quick sort
Tính đa hình (Polymorphism) trong Java
Hướng dẫn Java Design Pattern – Observer
Login For a Spring Web App – Error Handling and Localization
Java Program to Implement Regular Falsi Algorithm
Spring Boot Annotations
Spring Security Remember Me
Phương thức tham chiếu trong Java 8 – Method References
Java Program to Implement ConcurrentHashMap API
Quick Guide to Spring MVC with Velocity
Feign – Tạo ứng dụng Java RESTful Client
Iterable to Stream in Java
JUnit 5 @Test Annotation
ExecutorService – Waiting for Threads to Finish
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
HandlerAdapters in Spring MVC
Comparing Two HashMaps in Java
The “final” Keyword in Java
Java Program to implement Array Deque
Difference Between Wait and Sleep in Java
Guide to Java Instrumentation
SOAP Web service: Authentication trong JAX-WS
Introduction to Netflix Archaius with Spring Cloud
Adding a Newline Character to a String in Java
Database Migrations with Flyway
Rabin-Karp Algorithm for string matching
Multipart Upload with HttpClient 4
Java Program to Implement Word Wrap Problem