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