std::is_sorted
是 C++ 標準庫
函數原型如下:
template< class InputIt >
bool is_sorted( InputIt first, InputIt last );
template< class InputIt, class Compare >
bool is_sorted( InputIt first, InputIt last, Compare p );
參數說明:
first
和 last
定義了要檢查的范圍,其中 first
是范圍的開始迭代器,last
是范圍的結束迭代器。注意,last
指向的元素不包含在范圍內。p
是一個可選的比較函數,用于定義“非降序”的含義。如果沒有提供此參數,則使用 operator<
進行比較。函數返回一個布爾值,如果范圍內的所有元素都按照非降序排列,則返回 true
;否則返回 false
。
示例:
#include<iostream>
#include<vector>
#include<algorithm>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
if (std::is_sorted(v.begin(), v.end())) {
std::cout << "The vector is sorted."<< std::endl;
} else {
std::cout << "The vector is not sorted."<< std::endl;
}
return 0;
}
輸出:
The vector is sorted.