public class Main{
private int[] a;
private int size;
private int elementNumber;
public Main(int n){
a = new int[n];
size = n;
elementNumber = 0;
}
public int getElementNumer(){
return elementNumber;
}
public int find(int value){
int low = 0;
int high = elementNumber - 1;
int mid;
while(true){
mid = (low + high) / 2;
if(a[mid] == value){
return mid;
}else if(low > high){
return elementNumber;
}else{
if(a[mid] < value){
low = mid + 1;
}else{
high = mid - 1;
}
}
}
}
public boolean insert(int value){
if(elementNumber >= size){
return false;
}
int i;
for(i = 0; i < elementNumber; i++){
if(a[i] > value){
break;
}
}
for(int j = elementNumber; j > i; j--){
a[j] = a[j-1];
}
a[i] = value;
elementNumber++;
return true;
}
public boolean delete(int value){
int i = find(value);
if(i == elementNumber){
return false;
}else{
for(int j = i + 1; j < elementNumber; j++){
a[j-1] = a[j];
}
elementNumber--;
return true;
}
}
public void print(){
for(int i = 0; i < elementNumber; i++){
System.out.print(a[i] + " ");
}
System.out.println();
}
public static void main(String[] args){
int maxSize = 100;
Main orderedArray = new Main(maxSize);
orderedArray.insert(77);
orderedArray.insert(99);
orderedArray.insert(44);
orderedArray.insert(55);
orderedArray.insert(22);
orderedArray.insert(88);
orderedArray.insert(11);
orderedArray.insert(00);
orderedArray.insert(66);
orderedArray.insert(33);
int searchKey = 55;
if(orderedArray.find(searchKey) != orderedArray.getElementNumer()){
System.out.println(searchKey+" found, index = "+orderedArray.find(searchKey));
}else{
System.out.println(searchKey+" not found");
}
orderedArray.print();
orderedArray.delete(00);
orderedArray.delete(55);
orderedArray.delete(99);
orderedArray.print();
}
}
