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
34
int
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.hpp
マージ挿入ソートアルゴリズムを実装し、異なるコンテナでのパフォーマンスを比較するPmergeMeクラスを提供します。
std::cerr
PmergeMe
マージ挿入ソート(フォード・ジョンソンアルゴリズム)を用いて数値シーケンスをソートするクラス。
Definition
PmergeMe.hpp:38
PmergeMe::sortAndCompare
void sortAndCompare(int argc, char **argv)
コマンドライン引数をパースし、ソートを実行して結果を比較・表示します。
Definition
PmergeMe.cpp:190
std::endl
T endl(T... args)
main
int main(int argc, char **argv)
プログラムのメイン関数。
Definition
main.cpp:33
std::exception
iostream
std::exception::what
T what(T... args)
ex02
main.cpp
構築:
1.9.8