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

std::is_sorted

提供: 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.
is_sorted(C++11)
is_sorted_until(C++11)
sort
バイナリ検索操作(ソート範囲で)
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 ForwardIt >
bool is_sorted( ForwardIt first, ForwardIt last );
(1) (C++11およびそれ以降)
template<class ForwardIt, class Compare >
bool is_sorted( ForwardIt first, ForwardIt last, Compare comp );
(2) (C++11およびそれ以降)

Checks if the elements in range [first, last) are sorted in ascending order. The first version of the function uses operator< to compare the elements, the second uses the given comparison function comp.

目次

[編集]パラメータ

first, last -
検討する要素の範囲
Original:
the range of elements to examine
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 ForwardIt can be dereferenced and then implicitly converted to both of them. ​

型の要件
-
ForwardItForwardIterator

の要求を満足しなければなりません。

[編集]値を返します

true if the elements in the range are sorted in ascending order

[編集]複雑性

firstlastとの間の距離の線形
Original:
linear in the distance between first and last
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]可能な実装

First version
template<class ForwardIt>bool is_sorted(ForwardIt first, ForwardIt last){returnstd::is_sorted_until(first, last)== last;}
Second version
template<class ForwardIt, class Compare>bool is_sorted(ForwardIt first, ForwardIt last, Compare comp){returnstd::is_sorted_until(first, last, comp)== last;}

[編集]

#include <iostream>#include <algorithm>   int main(){constint N =5;int digits[N]={3, 1, 4, 1, 5};   for(auto i : digits)std::cout<< i <<' ';std::cout<<": is_sorted: "<< std::is_sorted(digits, digits+N)<<'\n';   std::sort(digits, digits+N);   for(auto i : digits)std::cout<< i <<' ';std::cout<<": is_sorted: "<< std::is_sorted(digits, digits+N)<<'\n';}

出力:

3 1 4 1 5 : is_sorted: 0 1 1 3 4 5 : is_sorted: 1

[編集]参照

最大のソート部分範囲を見つけることができます
Original:
finds the largest sorted subrange
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

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