首頁  >  文章  >  後端開發  >  c++中sort函式用法

c++中sort函式用法

下次还敢
下次还敢原創
2024-04-26 15:18:13386瀏覽

C 中的 sort 函數會對容器元素進行原地排序。它接收容器範圍和可選比較函數,預設按升序排序,傳遞自訂函數可依不同規則排序。

c++中sort函式用法

C 中的sort 函數用法

sort 函數是C 標準函式庫中一個強大的演算法,用於對容器中元素執行原地排序操作。它以一個容器作為輸入,並根據特定的比較函數重新排列容器中的值。

用法

sort 函數的原型如下:

<code class="cpp">void sort(InputIt first, InputIt last, Compare comp = less<>());</code>

其中,

  • ##firstlast 是迭代器,表示要排序的容器範圍。
  • comp 是一個可選的比較函數,用來指定排序的順序。

排序規則

預設情況下,sort 函數使用

std::less<> 比較函數,它將較小的元素排在較大的元素之前。可以傳遞一個自訂的比較函數來指定不同的排序規則。

例如:

依降序排序數字容器:

<code class="cpp">#include <vector>
#include <algorithm>

int main() {
  std::vector<int> numbers = {3, 1, 5, 2, 4};

  std::sort(numbers.begin(), numbers.end(), std::greater<>{});
  // 输出:{5, 4, 3, 2, 1}
}</code>

注意事項

    sort 函數只對連續記憶體區域進行排序,因此容器必須是順序容器,例如陣列、vector、list 等。
  • 排序演算法是原地進行的,這意味著它直接修改容器的內容。
  • 如果容器包含相同元素,sort 函數會根據比較函數的行為重新排列它們。

以上是c++中sort函式用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn