「🗑️」 clean: cleanup things and slightly improved ex02/main.cpp
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
# By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/01/22 07:21:18 by mmoussou #+# #+# #
|
||||
# Updated: 2025/08/30 13:38:12 by mmoussou ### ########.fr #
|
||||
# Updated: 2025/09/01 15:45:57 by mmoussou ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@@ -27,7 +27,7 @@ INCLUDES = .
|
||||
|
||||
NAME = PmergeMe
|
||||
|
||||
SRCS = main.cpp #PmergeMe.cpp
|
||||
SRCS = main.cpp PmergeMe.cpp
|
||||
|
||||
OBJSDIR = obj/
|
||||
OBJS = $(addprefix $(OBJSDIR), $(SRCS:.cpp=.o))
|
||||
|
||||
23
ex02/PmergeMe.cpp
Normal file
23
ex02/PmergeMe.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
#include "PmergeMe.hpp"
|
||||
|
||||
std::vector<size_t> generateJacobsthal(size_t n)
|
||||
{
|
||||
std::vector<size_t> seq;
|
||||
if (n == 0)
|
||||
return seq;
|
||||
seq.push_back(0);
|
||||
if (n == 1)
|
||||
return seq;
|
||||
seq.push_back(1);
|
||||
size_t j0 = 0, j1 = 1;
|
||||
while (true)
|
||||
{
|
||||
size_t jn = j1 + 2 * j0;
|
||||
if (jn >= n)
|
||||
break;
|
||||
seq.push_back(jn);
|
||||
j0 = j1;
|
||||
j1 = jn;
|
||||
}
|
||||
return seq;
|
||||
}
|
||||
@@ -11,27 +11,7 @@
|
||||
#include <ctime>
|
||||
#include <deque>
|
||||
|
||||
std::vector<size_t> generateJacobsthal(size_t n)
|
||||
{
|
||||
std::vector<size_t> seq;
|
||||
if (n == 0)
|
||||
return seq;
|
||||
seq.push_back(0);
|
||||
if (n == 1)
|
||||
return seq;
|
||||
seq.push_back(1);
|
||||
size_t j0 = 0, j1 = 1;
|
||||
while (true)
|
||||
{
|
||||
size_t jn = j1 + 2 * j0;
|
||||
if (jn >= n)
|
||||
break;
|
||||
seq.push_back(jn);
|
||||
j0 = j1;
|
||||
j1 = jn;
|
||||
}
|
||||
return seq;
|
||||
}
|
||||
std::vector<size_t> generateJacobsthal(size_t n);
|
||||
|
||||
template <typename Container, typename T>
|
||||
typename Container::iterator binaryInsertPosition(Container &c, const T &value)
|
||||
@@ -41,7 +21,7 @@ typename Container::iterator binaryInsertPosition(Container &c, const T &value)
|
||||
|
||||
while (first < last)
|
||||
{
|
||||
typename Container::iterator mid = first + (last - first) / 2; //tzvetan told me a better way iirc but i don't remember D:
|
||||
typename Container::iterator mid = first + (last - first) / 2;
|
||||
if (*mid < value)
|
||||
first = mid + 1;
|
||||
else
|
||||
|
||||
@@ -43,7 +43,7 @@ int main(int argc, char **argv)
|
||||
for (size_t i = 0; i < vec.size() && i < 6; i++)
|
||||
std::cout << vec[i] << " ";
|
||||
if (vec.size() > 6)
|
||||
std::cout << "[...]";
|
||||
std::cout << "[...] (" << vec.size() << ")";
|
||||
std::cout << std::endl;
|
||||
|
||||
clock_t startVec = clock();
|
||||
@@ -58,9 +58,14 @@ int main(int argc, char **argv)
|
||||
for (size_t i = 0; i < vec.size() && i < 6; i++)
|
||||
std::cout << vec[i] << " ";
|
||||
if (vec.size() > 6)
|
||||
std::cout << "[...]";
|
||||
std::cout << "[...] (" << vec.size() << ")";
|
||||
std::cout << std::endl;
|
||||
|
||||
std::vector<int> sortedVec = vec;
|
||||
std::sort(sortedVec.begin(), sortedVec.end());
|
||||
if (vec != sortedVec)
|
||||
throw std::runtime_error("it's not sorted, what-");
|
||||
|
||||
double vecTime = (double)(endVec - startVec) / CLOCKS_PER_SEC * 1000000.0;
|
||||
double deqTime = (double)(endDeq - startDeq) / CLOCKS_PER_SEC * 1000000.0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user