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

c++中sort的用法

下次还敢
下次还敢原創
2024-05-01 10:45:24988瀏覽

C 中 sort() 函數依升序對序列中的元素進行排序,語法為:sort(first, last, comp)。參數包括:first(指向序列中第一個元素的迭代器)、last(指向序列中最後一個元素後面位置的迭代器)、comp(可選比較器,預設為升序)。 sort() 函數修改序列,不傳回任何值。透過自訂比較器,可以自訂排序順序。

c++中sort的用法

C 中sort() 函數的用法

sort() 函數是C 標準庫中用於對序列(例如陣列或向量)元素進行升序排序的函數。它透過將元素移動到正確的位置來操作序列,以便它們按照某種順序排序。

語法

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

參數

  • #first:指向序列中第一個元素的迭代器。
  • last:指向序列中最後一個元素後面一個位置的迭代器。
  • comp:可選比較器,用於決定元素的順序。預設為 less()(將元素升序排序)。

傳回值

sort() 函數不傳回任何值,而是透過引用修改序列。

範例

對陣列排序

<code class="cpp">int arr[] = {5, 3, 1, 2, 4};
int n = sizeof(arr) / sizeof(arr[0]);

sort(arr, arr + n);</code>

#對向量排序

<code class="cpp">vector<int> v = {5, 3, 1, 2, 4};

sort(v.begin(), v.end());</code>

自訂排序比較器

sort() 函數可讓您透過提供自訂比較器來自訂排序順序。以下是一個範例,用來對字串按降序排序:

<code class="cpp">struct compare_strings {
    bool operator() (const string& a, const string& b) {
        return a > b;
    }
};

vector<string> words = {"apple", "banana", "cherry"};

sort(words.begin(), words.end(), compare_strings());</code>

透過提供自己的比較器,您可以按任何所需的邏輯對序列進行排序。

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

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