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:
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
A Guide to Iterator in Java
Spring’s RequestBody and ResponseBody Annotations
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
A Guide to System.exit()
Java Program to Implement JobStateReasons API
Hướng dẫn sử dụng String Format trong Java
Chuyển đổi giữa các kiểu dữ liệu trong Java
Java Program to Implement Strassen Algorithm
Hướng dẫn Java Design Pattern – Adapter
Java Program to Implement Threaded Binary Tree
Java Program to Perform Insertion in a BST
Java Program to Implement Red Black Tree
Java Program to Implement Gaussian Elimination Algorithm
How to Implement Caching using Adonis.js 5
Predicate trong Java 8
Các nguyên lý thiết kế hướng đối tượng – SOLID
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Transactions with Spring and JPA
Spring Web Annotations
Hướng dẫn Java Design Pattern – Composite
Hướng dẫn Java Design Pattern – Bridge
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Spring Boot Change Context Path
Java Program to Implement Suffix Tree
Daemon Threads in Java
Spring Data Java 8 Support
Java Program to Implement Efficient O(log n) Fibonacci generator
Java Program to Implement VList
Reactive WebSockets with Spring 5
Vector trong Java
Java Program to Perform Optimal Paranthesization Using Dynamic Programming