• Предмет: Информатика
  • Автор: Kukuwka0Ha0DepeBe
  • Вопрос задан 1 год назад

С++
Для кожної шаблонної функції навести приклад роботи з такими типами:
int, double, char;
4. Опишіть шаблон функції сортування бульбашкою.
5. Опишіть шаблон функції знаходження елемента в неупорядкованому масиві.
6. Опишіть шаблон функції знаходження елемента в упорядкованому масиві.
7. Опишіть шаблону функцію заміни елемента масиву на інший елемент.
8. Опишіть шаблону функцію інверсії масиву елементів.

Ответы

Ответ дал: grigorijbotvinov
1

Відповідь:

Шаблон функції сортування бульбашкою може виглядати так:

template <typename T>

void bubbleSort(T arr[], int n) {

   for (int i = 0; i < n-1; i++) {

       for (int j = 0; j < n-i-1; j++) {

           if (arr[j] > arr[j+1]) {

               swap(arr[j], arr[j+1]);

           }

       }

   }

}

Шаблон функції знаходження елемента в неупорядкованому масиві може виглядати так:

template <typename T>

int findElement(T arr[], int n, T x) {

   for (int i = 0; i < n; i++) {

       if (arr[i] == x) {

           return i;

       }

   }

   return -1;

}

Шаблон функції знаходження елемента в упорядкованому масиві може виглядати так:

template <typename T>

int binarySearch(T arr[], int l, int r, T x) {

   while (l <= r) {

       int m = l + (r-l)/2;

       if (arr[m] == x) {

           return m;

       }

       if (arr[m] < x) {

           l = m + 1;

       } else {

           r = m - 1;

       }

   }

   return -1;

}

Шаблону функція заміни елемента масиву на інший елемент може виглядати так:

template <typename T>

void replaceElement(T arr[], int n, T oldVal, T newVal) {

   for (int i = 0; i < n; i++) {

       if (arr[i] == oldVal) {

           arr[i] = newVal;

       }

   }

}

Шаблону функція інверсії масиву елементів може виглядати так:

template <typename T>

void reverseArray(T arr[], int n) {

   for (int i = 0; i < n/2; i++) {

       swap(arr[i], arr[n-i-1]);

   }

}

Пояснення:

Похожие вопросы