溫馨提示×

c++中is_sorted函數(shù)的作用是什么

c++
小樊
83
2024-09-15 18:05:58
欄目: 編程語言

std::is_sorted 是 C++ 標(biāo)準(zhǔn)庫` 中的一個函數(shù),它用于檢查一個范圍內(nèi)的元素是否已經(jīng)按照非降序(即升序或相等)排列。

函數(shù)原型如下:

template< class InputIt >
bool is_sorted( InputIt first, InputIt last );

template< class InputIt, class Compare >
bool is_sorted( InputIt first, InputIt last, Compare p );

參數(shù)說明:

  • firstlast 定義了要檢查的范圍,其中 first 是范圍的開始迭代器,last 是范圍的結(jié)束迭代器。注意,last 指向的元素不包含在范圍內(nèi)。
  • p 是一個可選的比較函數(shù),用于定義“非降序”的含義。如果沒有提供此參數(shù),則使用 operator< 進(jìn)行比較。

函數(shù)返回一個布爾值,如果范圍內(nèi)的所有元素都按照非降序排列,則返回 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.

0