|
CPP09 1.0
|
マージ挿入ソート(フォード・ジョンソンアルゴリズム)を用いて数値シーケンスをソートするクラス。 [詳解]
#include <PmergeMe.hpp>

公開メンバ関数 | |
| PmergeMe () | |
| デフォルトコンストラクタ。 | |
| ~PmergeMe () | |
| デストラクタ。 | |
| void | sortAndCompare (int argc, char **argv) |
| コマンドライン引数をパースし、ソートを実行して結果を比較・表示します。 | |
| void | mergeInsertSort (std::vector< int > &arr) |
| std::vectorに対してマージ挿入ソートを実行します。 | |
| void | mergeInsertSort (std::deque< int > &arr) |
| std::dequeに対してマージ挿入ソートを実行します。 | |
マージ挿入ソート(フォード・ジョンソンアルゴリズム)を用いて数値シーケンスをソートするクラス。
このクラスは、std::vectorとstd::dequeの2つの異なるコンテナで同じアルゴリズムを実装し、 その処理時間を比較・表示します。アルゴリズムは、要素をペアにし、大きい方でメインチェーンを形成、 メインチェーンを再帰的にソートした後、保留要素をヤコブスタール数を用いて効率的に挿入します。 コピーは禁止されています。
PmergeMe.hpp の 38 行目に定義があります。
| PmergeMe::PmergeMe | ( | ) |
デフォルトコンストラクタ。
PmergeMe.cpp の 37 行目に定義があります。
| PmergeMe::~PmergeMe | ( | ) |
デストラクタ。
PmergeMe.cpp の 39 行目に定義があります。
| void PmergeMe::mergeInsertSort | ( | std::deque< int > & | arr | ) |
std::dequeに対してマージ挿入ソートを実行します。
| [in,out] | arr | ソート対象のstd::deque<int>コンテナ。ソート後に内容が変更されます。 |
PmergeMe.cpp の 124 行目に定義があります。
| void PmergeMe::mergeInsertSort | ( | std::vector< int > & | arr | ) |
std::vectorに対してマージ挿入ソートを実行します。
| [in,out] | arr | ソート対象のstd::vector<int>コンテナ。ソート後に内容が変更されます。 |
PmergeMe.cpp の 58 行目に定義があります。
| void PmergeMe::sortAndCompare | ( | int | argc, |
| char ** | argv | ||
| ) |
コマンドライン引数をパースし、ソートを実行して結果を比較・表示します。
| argc | コマンドライン引数の数。 |
| argv | コマンドライン引数の配列。正の整数シーケンスを期待します。 |
| std::invalid_argument | 無効な入力(非数値、負数など)があった場合にスローされます。 |
PmergeMe.cpp の 190 行目に定義があります。