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:
JWT – Token-based Authentication trong Jersey 2.x
Creating a Web Application with Spring 5
Spring JDBC
Using the Map.Entry Java Class
A Guide to WatchService in Java NIO2
Java Stream Filter with Lambda Expression
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Một số nguyên tắc, định luật trong lập trình
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Hướng dẫn Java Design Pattern – Memento
Java Program to Implement AVL Tree
Spring Boot - Application Properties
Java Program to Implement Network Flow Problem
Quick Guide to Spring Controllers
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Unsatisfied Dependency in Spring
Java 8 Streams peek() API
CyclicBarrier in Java
Hướng dẫn Java Design Pattern – Observer
Spring Boot - Cloud Configuration Server
HandlerAdapters in Spring MVC
Simple Single Sign-On with Spring Security OAuth2
Java Program to Solve TSP Using Minimum Spanning Trees
Java Program to Perform Naive String Matching
Java Program to Implement the Hill Cypher
Java Program to Implement RoleList API
Java Program to Implement EnumMap API
Tổng quan về ngôn ngữ lập trình java
The Spring @Controller and @RestController Annotations
Queue và PriorityQueue trong Java