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:
Hướng dẫn Java Design Pattern – DAO
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Sorting in Java
Multipart Upload with HttpClient 4
Java Program to Convert a Decimal Number to Binary Number using Stacks
Spring Boot - Tomcat Port Number
Spring Security Form Login
Java Program to Describe the Representation of Graph using Incidence Matrix
Quick Guide to @RestClientTest in Spring Boot
“Stream has already been operated upon or closed” Exception in Java
REST Web service: Basic Authentication trong Jersey 2.x
Map Interface trong java
Spring Cloud Bus
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Introduction to Spring Method Security
Class Loaders in Java
Introduction to Using Thymeleaf in Spring
Java Program to Implement IdentityHashMap API
Hướng dẫn Java Design Pattern – Bridge
Overview of Spring Boot Dev Tools
A Guide to the finalize Method in Java
Getting a File’s Mime Type in Java
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Different Ways to Capture Java Heap Dumps
A Guide to Java HashMap
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Java String Conversions
Spring Cloud – Adding Angular
Guide to CopyOnWriteArrayList
Java Program to Check the Connectivity of Graph Using DFS
Working with Network Interfaces in Java