diff --git a/src/main.cpp b/src/main.cpp index da47634..73e863b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,23 @@ #define ARRAY_SIZE 7 -// Definition of function main() +template +void BubbleSort_T(T *a) +{ + for (size_t i = 0; i < 7; i++) + { + for (size_t j = 0; j < 7 - 1 - i; j++) + { + if (a[j] > a[j + 1]) + { + T temp{a[j]}; + a[j] = a[j + 1]; + a[j + 1] = temp; + } + } + } +} + void bubble_sort_demo() { int demo[ARRAY_SIZE]{11, 14, 3, 18, 8, 17, 43}; @@ -14,13 +30,40 @@ void bubble_sort_demo() for (int i = 0; i < ARRAY_SIZE; i++) std::cout << demo[i] << ", "; } + +void bubble_sort_T_demo() +{ + int demo[ARRAY_SIZE]{11, 14, 3, 18, 8, 17, 43}; + double demo2[ARRAY_SIZE]{11.2, 14.3, 3.2, 18.6, 8.7, 17.9, 43.3}; + std::cout << "Demo: "; + for (int i = 0; i < 7; i++) + std::cout << demo[i] << ", "; + std::cout << "\n"; + std::cout << "Demo2: "; + + for (int i = 0; i < 7; i++) + std::cout << demo2[i] << ", "; + std::cout << "\n"; + + BubbleSort_T(demo); + BubbleSort_T(demo2); + std::cout << "Demo: "; + for (int i = 0; i < 7; i++) + std::cout << demo[i] << ", "; + std::cout << "\n"; + std::cout << "Demo2: "; + + for (int i = 0; i < 7; i++) + std::cout << demo2[i] << ", "; + std::cout << "\n"; +} int main() { // add_two_numbers(); // convert_char_to_ascii(); print_type_size_bytes(); - bubble_sort_demo(); + bubble_sort_T_demo(); return 0; }