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:
Count Occurrences of a Char in a String
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Spring Web Annotations
HTTP Authentification and CGI/Servlet
Thao tác với tập tin và thư mục trong Java
Spring MVC + Thymeleaf 3.0: New Features
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Guide to the Synchronized Keyword in Java
Java Program to Find the Longest Path in a DAG
How to Round a Number to N Decimal Places in Java
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Java program to Implement Tree Set
Java Program to Describe the Representation of Graph using Adjacency List
Comparing Two HashMaps in Java
Introduction to Java Serialization
Java List UnsupportedOperationException
Display Auto-Configuration Report in Spring Boot
Semaphore trong Java
String Processing with Apache Commons Lang 3
RegEx for matching Date Pattern in Java
Introduction to Spring Cloud CLI
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Spring NoSuchBeanDefinitionException
Java Program to Perform Uniform Binary Search
Java Program to Perform Polygon Containment Test
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Spring Boot - Creating Docker Image
Guide to Selenium with JUnit / TestNG
What is a POJO Class?
Guide to java.util.Formatter
Java Program to Implement Skew Heap
Spring Cloud – Tracing Services with Zipkin