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

std::partial_sort

提供: cppreference.com
< cpp‎ | algorithm

 
 
アルゴリズムライブラリ
機能します
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
シーケンス動作を非改変
Original:
Non-modifying sequence operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
シーケンス動作を変更する
Original:
Modifying sequence operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
操作を仕切る
Original:
Partitioning operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(ソートされた範囲で)ソート操作
Original:
Sorting operations (on sorted ranges)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
バイナリ検索操作(ソート範囲で)
Original:
Binary search operations (on sorted ranges)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(ソートされた範囲で)操作を設定します
Original:
Set operations (on sorted ranges)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ヒープ操作
Original:
Heap operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
最小値/最大値操作
Original:
Minimum/maximum operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
数値演算
Original:
Numeric operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Cライブラリ
Original:
C library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
Defined in header <algorithm>
template<class RandomIt >
void partial_sort( RandomIt first, RandomIt middle, RandomIt last );
(1)
template<class RandomIt, class Compare >
void partial_sort( RandomIt first, RandomIt middle, RandomIt last, Compare comp );
(2)
を昇順で並べ替え範囲[first, last)内の要素のいくつかを示しています。これらの要素の最初のmiddle - firstは範囲[first, middle)に配置されます。等しい要素の順序は保持される保証はありません。レンジ[middle, last)の残りの要素の順序は不定である。最初のバージョンは、要素を比較するoperator<使用して、2番目のバージョンは、指定された比較関数compを使用しています.
Original:
Sorts some of the elements in the range [first, last) in ascending order. The first middle - first of these elements are placed in the range [first, middle). The order of equal elements is not guaranteed to be preserved. The order of the remaining elements in the range [middle, last) is unspecified. 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を含まなくても構いませんが, 比較関数は渡されたオブジェクトを変更してはなりません.
The types Type1 and Type2 must be such that an object of type RandomIt can be dereferenced and then implicitly converted to both of them. ​

型の要件
-
RandomItValueSwappable and 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.

[編集]

#include <algorithm>#include <functional>#include <array>#include <iostream>   int main(){std::array<int, 10> s{5, 7, 4, 2, 8, 6, 1, 9, 0, 3};   std::partial_sort(s.begin(), s.begin()+3, s.end());for(int a : s){std::cout<< a <<" ";}}

出力:

0 1 2 7 8 6 5 9 4 3

[編集]参照

コピーと部分的にソートする要素の範囲
Original:
copies and partially sorts a range of elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数テンプレート)[edit]
ソートされた範囲の要素を等しい要素間の順序を維持しながら
Original:
sorts a range of elements while preserving order between equal elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数テンプレート)[edit]
昇順にソートする範囲
Original:
sorts a range into ascending order
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数テンプレート)[edit]
close