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:
Explain about URL and HTTPS protocol
Java Program to Implement Johnson’s Algorithm
Immutable ArrayList in Java
Spring RestTemplate Error Handling
Configure a Spring Boot Web Application
Guide to the Fork/Join Framework in Java
Consumer trong Java 8
Allow user:password in URL
Spring Web Annotations
Java Program to Compare Binary and Sequential Search
Guide to @JsonFormat in Jackson
Java – Random Long, Float, Integer and Double
Converting String to Stream of chars
Setting the Java Version in Maven
Java Program to Implement Range Tree
LinkedHashSet trong Java hoạt động như thế nào?
Java Program to Implement Maximum Length Chain of Pairs
Java Program to Check whether Graph is a Bipartite using DFS
Configuring a DataSource Programmatically in Spring Boot
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Deque và ArrayDeque trong Java
Overview of the java.util.concurrent
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
A Guide to ConcurrentMap
Use Liquibase to Safely Evolve Your Database Schema
Unsatisfied Dependency in Spring
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Cài đặt và sử dụng Swagger UI
Java Program to Generate All Possible Combinations of a Given List of Numbers
Lớp Collections trong Java (Collections Utility Class)
Logout in an OAuth Secured Application
Practical Java Examples of the Big O Notation