1. Шаблоны: Начало

☰ Теория

Так как STL представляет собой набор шаблонных классов C ++, то знание того как устроены эти классы является желательным для работы c STL.
В C ++ добавлено два новых ключевых слова для поддержки шаблонов: «template» и «typename». Используя их можно написать универсальную функцию, которая будет во время компиляции раскрываться в нужные типы. Например, шаблонная функция получения максимума из двух значений:

template <typename T> 
T myMax(T x, T y) 
{ 
   return (x > y)? x: y; 
} 
  
int main() 
{ 
  cout << myMax<int>(3, 7) << endl;   
  cout << myMax<double>(3.0, 7.0) << endl;  
  cout << myMax<char>('g', 'e') << endl;    
  
  return 0; 
}

 

Создать шаблонную функцию для реализации пузырьковой сортировки.
 
Примеры
Входные данные Выходные данные
1 5
5 4 3 2 1
1 2 3 4 5

Вставьте недостающие фрагменты кода
C++
#include <iostream> 
using namespace std;         
int main() { 
   int n;
   cin >> n;
    int *a = new int[n];
    for (int i = 0; i < n; i++) 
        cin >> a[i]; 
    bubbleSort(a, n); 
    for (int i = 0; i < n; i++) 
        cout << a[i] << " "; 
    cout << endl; 
    return 0; 
}