CPP09 1.0
読み取り中…
検索中…
一致する文字列を見つけられません
main.cpp
[詳解]
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* main.cpp :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2025/08/28 18:43:48 by kamitsui #+# #+# */
9/* Updated: 2025/08/28 18:43:56 by kamitsui ### ########.fr */
10/* */
11/* ************************************************************************** */
12
25#include "PmergeMe.hpp"
26#include <iostream>
27
34int main(int argc, char **argv) {
35 if (argc < 2) {
36 std::cerr << "Error: No input sequence provided." << std::endl;
37 return 1;
38 }
39
40 try {
41 PmergeMe pmm;
42 pmm.sortAndCompare(argc, argv);
43 } catch (const std::exception &e) {
44 std::cerr << e.what() << std::endl;
45 return 1;
46 }
47
48 return 0;
49}
50// #include "PmergeMe.hpp"
51// #include <cstdlib> // For srand, rand
52// #include <ctime> // For time
53// #include <iostream>
54// #include <vector>
55//
56// int main() {
57// // 乱数のシードを初期化
58// std::srand(static_cast<unsigned int>(std::time(0)));
59//
60// // 21個の正の整数を生成 (1 to 1000)
61// std::vector<int> data;
62// for (int i = 0; i < 21; ++i) {
63// data.push_back(std::rand() % 1000 + 1);
64// }
65//
66// // ソート前のデータを表示
67// std::cout << "Before: ";
68// for (size_t i = 0; i < data.size(); ++i) {
69// std::cout << data[i] << " ";
70// }
71// std::cout << std::endl;
72//
73// // PmergeMeオブジェクトを作成し、ソートを実行
74// PmergeMe pmm;
75// pmm.resetCounter(); // カウンターをリセット
76// pmm.mergeInsertSort(data); // vector用のソートを直接呼び出す
77//
78// // ソート後のデータを表示
79// std::cout << "After: ";
80// for (size_t i = 0; i < data.size(); ++i) {
81// std::cout << data[i] << " ";
82// }
83// std::cout << std::endl;
84//
85// // 比較回数を表示
86// std::cout << "----------------------------------------" << std::endl;
87// std::cout << "Number of elements: 21" << std::endl;
88// std::cout << "Total comparisons: " << pmm.getComparisonCount() << std::endl;
89// std::cout << "----------------------------------------" << std::endl;
90//
91// return 0;
92// }
マージ挿入ソートアルゴリズムを実装し、異なるコンテナでのパフォーマンスを比較するPmergeMeクラスを提供します。
マージ挿入ソート(フォード・ジョンソンアルゴリズム)を用いて数値シーケンスをソートするクラス。
Definition PmergeMe.hpp:38
void sortAndCompare(int argc, char **argv)
コマンドライン引数をパースし、ソートを実行して結果を比較・表示します。
Definition PmergeMe.cpp:190
T endl(T... args)
int main(int argc, char **argv)
プログラムのメイン関数。
Definition main.cpp:33
T what(T... args)