std::is_sorted
和 std::sort
是 C++ 標準庫
std::is_sorted
:
std::is_sorted
是一個謂詞,用于檢查給定范圍內的元素是否已按非降序(即升序或相等)排列。如果范圍內的所有元素都滿足這個條件,那么該函數返回 true
;否則返回 false
。此外,它不會對元素進行任何排序操作。函數原型:
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
定義了要檢查的范圍。p
是一個可選的比較函數,用于定義“非降序”的含義。std::sort
:
std::sort
是一個操作,用于對給定范圍內的元素進行排序。它使用快速排序算法(或庫實現者選擇的其他排序算法)對元素進行就地排序,從而使它們按升序排列。函數原型:
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );
參數:
first
和 last
定義了要排序的范圍。comp
是一個可選的比較函數,用于定義排序的含義。總結:
std::is_sorted
只是檢查范圍內的元素是否已排序,而不對它們進行任何操作。std::sort
對范圍內的元素進行排序。