programming-examples/java/Data_Structures/Java Program to Implement Sorted Vector.java
2019-11-15 12:59:38 +01:00

401 lines
7.4 KiB
Java

/**
** Java Program to Implement Sorted Vector
**/
import java.util.Scanner;
import java.util.Vector;
import java.util.Collections;
class SortedVector
{
private Vector<Integer> vect;
/** Constructor **/
public SortedVector()
{
vect = new Vector<Integer>();
}
/** Function to check if vector is empty **/
public boolean isEmpty()
{
return vect.size() == 0 || vect == null;
}
/** Function to clear vector **/
public void clear()
{
vect = new Vector<Integer>();
}
/** Function to get size of vector **/
public int size()
{
return vect.size();
}
/** Function to add element to vector **/
public void add(int ele)
{
int pos = vect.size();
vect.add(ele);
while (pos > 0 && ele < vect.get(pos - 1))
{
vect.set(pos, vect.get(pos - 1));
pos--;
}
vect.set(pos, ele);
}
/** Function to remove element at index **/
public void remove(int ind)
{
vect.remove(ind);
}
/** Function to perform binary search **/
public int binarySearch(int ele)
{
return Collections.binarySearch(vect, ele);
}
/** Function to check if element is present in vector **/
public boolean contains(int ele)
{
return binarySearch(ele) >= 0;
}
/** Function to string **/
public String toString()
{
return vect.toString();
}
}
/** Class SortedVector **/
public class SortedVectorTest
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
/* Creating object of class SortedVector */
SortedVector sv = new SortedVector();
System.out.println("Sorted Vector Test\n");
char ch;
/* Perform vector operations */
do
{
System.out.println("\nSorted Vector Operations\n");
System.out.println("1. insert");
System.out.println("2. remove ");
System.out.println("3. binary search");
System.out.println("4. contains");
System.out.println("5. check empty");
System.out.println("6. get size");
System.out.println("7. clear");
int choice = scan.nextInt();
switch (choice)
{
case 1 :
System.out.println("Enter integer element to add");
sv.add( scan.nextInt() );
break;
case 2 :
System.out.println("Enter index");
sv.remove(scan.nextInt() );
break;
case 3 :
System.out.println("Enter integer element to search");
System.out.println("Binary search result : "+ sv.binarySearch(scan.nextInt() ));
break;
case 4 :
System.out.println("Enter integer element ");
System.out.println("Contains result : "+ sv.contains(scan.nextInt() ));
break;
case 5 :
System.out.println("Empty status = "+ sv.isEmpty());
break;
case 6 :
System.out.println("Size = "+ sv.size() +" \n");
break;
case 7 :
System.out.println("Sorted Vector cleared");
sv.clear();
break;
default :
System.out.println("Wrong Entry \n ");
break;
}
/* Display Vector */
System.out.println(sv);
System.out.println("\nDo you want to continue (Type y or n) \n");
ch = scan.next().charAt(0);
}
while (ch == 'Y'|| ch == 'y');
}
}
/*
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
24
[24]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
5
[5, 24]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
63
[5, 24, 63]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
94
[5, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
19
[5, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
1
[1, 5, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
17
[1, 5, 17, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
1
Enter integer element to add
14
[1, 5, 14, 17, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
2
Enter index
3
[1, 5, 14, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
6
Size = 7
[1, 5, 14, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
3
Enter integer element to search
14
Binary search result : 2
[1, 5, 14, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
3
Enter integer element to search
45
Binary search result : -6
[1, 5, 14, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
4
Enter integer element
24
Contains result : true
[1, 5, 14, 19, 24, 63, 94]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
7
Sorted Vector cleared
[]
Do you want to continue (Type y or n)
y
Sorted Vector Operations
1. insert
2. remove
3. binary search
4. contains
5. check empty
6. get size
7. clear
5
Empty status = true
[]
Do you want to continue (Type y or n)
n