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.

106 lines
3.0 KiB
Java

/*This Java program is to Implement Vector. The elements of a vector are stored contiguously.Like all dynamic array implementations, vectors have low memory usage and good locality of reference and data cache utilization*/
import java.util.ArrayList;
import java.util.Scanner;
public class Vector<T>
{
private int capacity;
private int size;
private ArrayList<T> vector;
private static final int INCREMENT_FACTOR = 5;
public Vector(int size)
{
this.size = size;
this.capacity = size + INCREMENT_FACTOR;
vector = new ArrayList<T>();
}
public void store(int index, T value)
{
try
{
vector.set(index, value);
}
catch (IndexOutOfBoundsException indexOutBounds)
{
if (index >= 0 && (index < size))
{
vector.add(index, value);
}
if (index >= 0 && (index >= size && index < capacity))
{
vector.add(index, value);
size = index + 1;
if (size == capacity)
capacity = capacity + INCREMENT_FACTOR;
}
if (index >= capacity)
{
throw new IndexOutOfBoundsException();
}
}
}
public T get(int index)
{
try
{
return vector.get(index);
}
catch (IndexOutOfBoundsException indexOutBounds)
{
}
return null;
}
public int getSize()
{
return size;
}
public int getCapacity()
{
return capacity;
}
public static void main(String... arg)
{
int size;
int num;
int value;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the initial size of the vector");
size = scanner.nextInt();
Vector<Integer> vector = new Vector<>(size);
System.out.println("Enter the number of elements ");
num = scanner.nextInt();
System.out.println("Enter the values");
for (int index = 0; index < num; index++)
{
value = scanner.nextInt();
vector.store(index, value);
}
System.out.println("The Entered Values are");
for (int index = 0; index < vector.getSize(); index++)
{
System.out.print(vector.get(index) + "\t");
}
System.out.println("\nTHE SIZE OF THE VECTOR IS " + vector.getSize());
System.out.println("THE CAPACITY OF THE VECTOR IS " + vector.getCapacity());
scanner.close();
}
}
/*
Enter the initial size of the vector
5
Enter the number of elements
5
Enter the values
10 9 8 7 6
The Entered Values are
10 9 8 7 6
THE SIZE OF THE VECTOR IS 5
THE CAPACITY OF THE VECTOR IS 10