From 0de02e1e83429dfb1edf7cf53a02dc9acef2201e Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 16 Sep 2022 23:31:12 +0200 Subject: [PATCH] add array sort --- Utils/ArraySort.h | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Utils/ArraySort.h diff --git a/Utils/ArraySort.h b/Utils/ArraySort.h new file mode 100644 index 0000000..0323348 --- /dev/null +++ b/Utils/ArraySort.h @@ -0,0 +1,63 @@ +/** + * Karaka + * + * @package Utils + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link https://karaka.app + */ +#ifndef UTILS_ARRAY_SORT_H +#define UTILS_ARRAY_SORT_H + +#include +#include + +namespace Utils { + class ArraySort { + private: + + public: + static inline + void reverse_int(int *arr, int size) + { + for (int low = 0, high = size - 1; low < high; ++low, --high) { + int tmp = arr[low]; + arr[low] = arr[high]; + arr[high] = tmp; + } + } + + static inline + void reverse_float(float *arr, int size) + { + for (int low = 0, high = size - 1; low < high; ++low, --high) { + float tmp = arr[low]; + arr[low] = arr[high]; + arr[high] = tmp; + } + } + + static inline + void reverse_double(double *arr, int size) + { + for (int low = 0, high = size - 1; low < high; ++low, --high) { + double tmp = arr[low]; + arr[low] = arr[high]; + arr[high] = tmp; + } + } + + static inline + void reverse_char(char *arr, int size) + { + for (int low = 0, high = size - 1; low < high; ++low, --high) { + char tmp = arr[low]; + arr[low] = arr[high]; + arr[high] = tmp; + } + } + }; +} + +#endif \ No newline at end of file