notamitgamer

It's my profile man, there is ...
Log | Files | Refs | Activity | README

root / a.cpp

a.cpp (1693B)


      1 #include <iostream>
      2 using namespace std;
      3 
      4 template<typename T>
      5 class BinarySearch {
      6 private:
      7     T *arr;
      8     int size;
      9 
     10 public:
     11     BinarySearch() : arr(nullptr), size(0) {}
     12 
     13     ~BinarySearch() {
     14         delete[] arr;
     15     }
     16 
     17     T inputArray() {
     18         cout << "How many elements do you want to enter: ";
     19         cin >> size;
     20 
     21         arr = new T[size];
     22 
     23         for (int i = 0; i < size; i++) {
     24             cout << "Enter element for position " << i << ": ";
     25             cin >> arr[i];
     26         }
     27 
     28         T target;
     29         cout << "\nEnter the target element: ";
     30         cin >> target;
     31 
     32         return target;
     33     }
     34 
     35     void sortArray() {
     36         for (int i = 0; i < size - 1; i++) {
     37             for (int j = 0; j < size - i - 1; j++) {
     38                 if (arr[j] > arr[j + 1]) {
     39                     T temp = arr[j];
     40                     arr[j] = arr[j + 1];
     41                     arr[j + 1] = temp;
     42                 }
     43             }
     44         }
     45     }
     46 
     47     int binarySearch(T target) {
     48         int low = 0;
     49         int high = size - 1;
     50 
     51         while (low <= high) {
     52             int mid = low + ((high - low) / 2);
     53             if (arr[mid] == target) {
     54                 return mid;
     55             } else if (arr[mid] > target) {
     56                 high = mid - 1;
     57             } else {
     58                 low = mid + 1;
     59             }
     60         }
     61         return -1;
     62     }
     63 };
     64 
     65 int main() {
     66     BinarySearch<int> bs;
     67     int target = bs.inputArray();
     68     bs.sortArray();
     69     int index = bs.binarySearch(target);
     70 
     71     if (index != -1) {
     72         cout << "\nElement " << target << " is found at index " << index << ".";
     73     } else {
     74         cout << "\nElement " << target << " is not found.";
     75     }
     76 
     77     return 0;
     78 }
© notamitgamer • Site Built: 2026-09-05 01:53:16 UTC • git-mirror commit: c170d72 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror