Шаблоны в C++




Так как 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; 
}

 

Task
Создать шаблоную функцию для реализации пузырьковой сортировки.
Ввод Вывод
5
5 4 3 2 1
1 2 3 4 5
C++
Write a program below
#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; 
}       
Your last submission is saved in the editor window.
     

Results:

All results: