Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @afiqakraam
- * @24/03/2021
- */
- class OrderedArray
- {
- private long[] a;
- private int nElems;
- public OrderedArray(int max){
- a = new long[max];
- nElems = 0;
- }
- public int size(){
- return nElems;
- }
- public int find(long searchKey){
- int lowerBound = 0;
- int upperBound = nElems - 1;
- int curln;
- while(true){
- curln = (lowerBound + upperBound) / 2;
- if(a[curln] == searchKey)
- return curln;
- else if(lowerBound > upperBound)
- return nElems;
- else{
- if(a[curln] < searchKey)
- lowerBound = curln + 1;
- else
- upperBound = curln - 1;
- }
- }
- }
- public void insert (long value){
- int j;
- for(j = 0; j < nElems; j++)
- if(a[j] > value)
- break;
- for(int k = nElems; k > j; k--)
- a[k] = a[k-1];
- a[j] = value;
- nElems++;
- }
- public boolean delete(long value){
- int j = find(value);
- if(j == nElems)
- return false;
- else{
- for(int k=j; k < nElems; k++)
- a[k] = a[k+1];
- nElems--;
- return true;
- }
- }
- public void display(){
- for(int j=0; j < nElems; j++)
- System.out.print(a[j]+" ");
- System.out.println(" ");
- }
- }
- public class OrderedArrayApp{
- public static void main(String[] args){
- int maxSize = 100;
- OrderedArray arr;
- arr = new OrderedArray(maxSize);
- arr.insert(77);
- arr.insert(99);
- arr.insert(44);
- arr.insert(55);
- arr.insert(22);
- arr.insert(88);
- arr.insert(11);
- arr.insert(0);
- arr.insert(66);
- arr.insert(33);
- //Search Element
- int searchKey = 55;
- if(arr.find(searchKey) != arr.size())
- System.out.println("Found "+searchKey);
- else
- System.out.println("Can't find "+searchKey);
- //Display Elements
- arr.display();
- //Delete Elements
- arr.delete(0);
- arr.delete(55);
- arr.delete(99);
- //Display Elements After Removing Some Elements
- arr.display();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment