30 lines
518 B
C++
30 lines
518 B
C++
#pragma once
|
|
|
|
#include <vector>
|
|
#include <deque>
|
|
|
|
template <typename Container>
|
|
class PmergeMe
|
|
{
|
|
public:
|
|
PmergeMe() = delete;
|
|
PmergeMe(const Container &container);
|
|
PmergeMe(const PmergeMe &other);
|
|
~PmergeMe();
|
|
|
|
PmergeMe &operator=(const PmergeMe &other);
|
|
|
|
void sort();
|
|
|
|
private:
|
|
std::vector<int> _data_vector;
|
|
std::deque<int> _data_deque;
|
|
std::vector<int> _jacobstahl_numbers;
|
|
|
|
int getJacobstahlNumber(int n);
|
|
int getJacobstahlNumberRecursive(int n);
|
|
|
|
|
|
|
|
};
|