You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.9 KiB
Java
98 lines
2.9 KiB
Java
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[c] = 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();
|
|
}
|
|
}
|
|
|
|
/*
|
|
|
|
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. |