Wednesday, 29 November 2017

Java Program to Implement Sorted Vector


Code:

import java.util.Scanner;
import java.util.Vector;
import java.util.Collections;

class SortedVector
{
    private Vector vect;    

    /**  Constructor  **/
    public SortedVector()
    {
        vect = new Vector();        
    }    
    /**  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();        
    }
    /**  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');               
    }
}


Output:

Sorted Vector Test


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



More Java Programs:

















100+ Best Home Decoration Ideas For Christmas Day 2019 To Make Home Beautiful

Best gifts for Christmas Day | Greeting cards for Christmas Day | Gift your children a new gift on Christmas day This Christmas d...