CPP09 1.0
読み取り中…
検索中…
一致する文字列を見つけられません
PmergeMe クラス

マージ挿入ソート(フォード・ジョンソンアルゴリズム)を用いて数値シーケンスをソートするクラス。 [詳解]

#include <PmergeMe.hpp>

PmergeMe 連携図
Collaboration graph

公開メンバ関数

 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.hpp38 行目に定義があります。

構築子と解体子

◆ PmergeMe()

PmergeMe::PmergeMe ( )

デフォルトコンストラクタ。

PmergeMe.cpp37 行目に定義があります。

◆ ~PmergeMe()

PmergeMe::~PmergeMe ( )

デストラクタ。

PmergeMe.cpp39 行目に定義があります。

関数詳解

◆ mergeInsertSort() [1/2]

void PmergeMe::mergeInsertSort ( std::deque< int > &  arr)

std::dequeに対してマージ挿入ソートを実行します。

引数
[in,out]arrソート対象のstd::deque<int>コンテナ。ソート後に内容が変更されます。

PmergeMe.cpp124 行目に定義があります。

◆ mergeInsertSort() [2/2]

void PmergeMe::mergeInsertSort ( std::vector< int > &  arr)

std::vectorに対してマージ挿入ソートを実行します。

引数
[in,out]arrソート対象のstd::vector<int>コンテナ。ソート後に内容が変更されます。

PmergeMe.cpp58 行目に定義があります。

◆ sortAndCompare()

void PmergeMe::sortAndCompare ( int  argc,
char **  argv 
)

コマンドライン引数をパースし、ソートを実行して結果を比較・表示します。

引数
argcコマンドライン引数の数。
argvコマンドライン引数の配列。正の整数シーケンスを期待します。
例外
std::invalid_argument無効な入力(非数値、負数など)があった場合にスローされます。

PmergeMe.cpp190 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: