#include <iostream>
#include<algorithm>
using namespace std;
template<class T>
class ArrayADT{
T*arr;
int capacity;
int size;
public:
ArrayADT(int cap){
capacity=cap;
arr=new T[capacity];
size=0;
}
void insert(T value){
if(size==capacity){
cout<<" array is full "<<endl;
return;
}
arr[size++]=value;
}
void insert(T value,int index){
if(index<0||index>capacity){
cout<<" invalid index "<<endl;
return;
}
arr[index]=value;
}
void removeAt(int index) {
if (index < 0 || index >= size) {
cout << "Invalid index!\n";
return;
}
for (int i = index; i < size - 1; i++) {
arr[i] = arr[i + 1];
}
size--;
}
void print(){
for(int i=0;i<size;i++){
cout<<arr[i]<<endl;;
}
}
int BinarySearch(T value){
int low=0;
int high=size-1;
int mid;
while(low<=high){
mid=low+(high-low)/2;
if(arr[mid]==value){
return mid;
}
if(arr[mid]>value){
high=mid-1;
}
else
low=mid+1;
}
return-1;
}
void SortAscending(){
sort(arr,arr+size);
}
void SortDescending(){
sort(arr,arr+size,greater<char>());
}
};
int main() {
ArrayADT<char>A(45);
A.insert('A');
A.insert('B');
A.insert('C');
A.insert('D');
A.insert('E');
A.insert('F');
A.insert('G');
A.insert('H');
A.insert('I');
A.print();
return 0;
}
No comments:
Post a Comment