Sunday, August 31, 2025

ARRAY ADT WITH TEMPLATES

 #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

list in c#

  using System ; using System . Collections . Generic ; class Program {     static void Main () {         // Write your C# code here  ...