The Wayback Machine - https://web.archive.org/web/20180422115357/http://ja.cppreference.com:80/w/cpp/algorithm/stable_sort
名前空間
変種
操作

std::stable_sort

提供: cppreference.com
< cpp‎ | algorithm

 
 
アルゴリズムライブラリ
実行ポリシー (C++17)
非変更シーケンス操作
(C++11)(C++11)(C++11)
(C++17)
変更シーケンス操作
未初期化記憶域の操作
分割操作
ソート操作
stable_sort
バイナリサーチ操作
集合操作 (ソート済み範囲に対する)
ヒープ操作
(C++11)
最小/最大演算
(C++11)
(C++17)
順列
数値演算
C のライブラリ
 
ヘッダ <algorithm> で定義
template<class RandomIt >
void stable_sort( RandomIt first, RandomIt last );
(1)
template<class RandomIt, class Compare >
void stable_sort( RandomIt first, RandomIt last, Compare comp );
(2)
昇順で範囲[first, last)内の要素を並べ替えます。等しい要素の順序は保持されることが保証されている。最初のバージョンは、要素を比較するoperator<使用して、2番目のバージョンは、指定された比較関数compを使用しています.
Original:
Sorts the elements in the range [first, last) in ascending order. The order of equal elements is guaranteed to be preserved. The first version uses operator< to compare the elements, the second version uses the given comparison function comp.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集]パラメータ

first, last -
ソートする要素の範囲
Original:
the range of elements to sort
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
comp - 比較関数. 最初の値が二つ目の値より小さい 場合、 ​trueを返します.

比較関数のシグネチャは以下と同等でなければなりません.

 bool cmp(const Type1 &a, const Type2 &b);

シグネチャはconstを含まなくても構いませんが, 比較関数は渡されたオブジェクトを変更してはなりません.
Type1 および Type2 は、どちらも RandomIt 型のオブジェクトの逆参照から暗黙に変換可能なものでなければなりません。 ​

型の要件
-
RandomItValueSwappable および RandomAccessIterator の要件を満たさなければなりません。
-
The type of dereferenced RandomIt must meet the requirements of MoveAssignable and MoveConstructible.

[編集]値を返します

(なし)

[編集]複雑性

O(N·log2(N))N =std::distance(first, last)cmpアプリケーション。追加のメモリが利用可能であれば、複雑さがO(N·log(N)です.
Original:
O(N·log2(N)), where N =std::distance(first, last) applications of cmp. If additional memory is available, then the complexity is O(N·log(N).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]ノート

この関数は、一般的にstd::get_temporary_bufferを呼び出すことによって、ソートする配列と同じサイズの一時バッファを割り当てようとします。割り当てが失敗した場合は、あまり効率的なアルゴリズムが選ばれ.
Original:
This function attempts to allocate a temporary buffer equal in size to the sequence to be sorted, typically by calling std::get_temporary_buffer. If the allocation fails, the less efficient algorithm is chosen.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]

[編集]参照

指定範囲の最初の N 個の要素をソートします
(関数テンプレート)[edit]
指定範囲を昇順にソートします
(関数テンプレート)[edit]
close