<p>摘要:<a style="color:#f60; text-decoration:underline;" target="_blank">c++</a>++ sort 函數(shù)用于對(duì)容器元素進(jìn)行排序。默認(rèn)情況下,它使用 字符串?dāng)?shù)組進(jìn)行排序。</p>
<p><img src="https://img.php.cn/upload/article/000/000/164/171205434266801.jpg" alt="C++sort函數(shù)詳解與示例演示"></p>
<p><strong>C++ 排序函數(shù)詳解與示例演示</strong></p>
<p><strong>sort 函數(shù)概述</strong></p>
<p>sort 函數(shù)是 C++ 標(biāo)準(zhǔn)模板庫(kù) (STL) 中一個(gè)強(qiáng)大的函數(shù),用于對(duì)容器元素進(jìn)行排序。它根據(jù)指定的比較規(guī)則將容器中的元素<a style="color:#f60; text-decoration:underline;" target="_blank">排列</a>成升序或降序。</p>
<p>函數(shù)聲明如下:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:cpp;toolbar:false;'>template<typename Iter>
void sort(Iter first, Iter last);</pre><div class="contentsignin">登錄后復(fù)制</div></div><p>其中:</p><ul><li><strong>Iter</strong>:指向容器元素的迭代器類型,可以在容器中移動(dòng)和訪問(wèn)元素。</li><li><strong>first</strong>:容器開始迭代器,指定要排序元素的范圍的第一個(gè)元素。</li><li><strong>last</strong>:容器結(jié)束迭代器,指定要排序元素的范圍的最后一個(gè)元素之后的元素。</li></ul><p><strong>自定義比較規(guī)則</strong></p><p>默認(rèn)情況下,sort 函數(shù)使用 <code><</code> 運(yùn)算符進(jìn)行比較,這意味著它將容器元素按升序排列。如果您希望根據(jù)不同的規(guī)則排序,可以提供一個(gè)自定義比較函數(shù):</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:cpp;toolbar:false;'>bool compare(const Type1& a, const Type2& b)
{
// 自定義比較規(guī)則
}
// 在 sort 函數(shù)中使用自定義比較函數(shù)
sort(first, last, compare);</pre><div class="contentsignin">登錄后復(fù)制</div></div><p><strong>實(shí)戰(zhàn)案例</strong></p><p><strong>示例 1:對(duì)整數(shù)數(shù)組排序</strong></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:cpp;toolbar:false;'>#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[] = {5, 2, 7, 1, 3};
int len = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + len);
cout << "排序后的數(shù)組:";
for (int i = 0; i < len; i++)
{
cout << " " << arr[i];
}
cout << endl;
return 0;
}</pre><div class="contentsignin">登錄后復(fù)制</div></div><p>輸出:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>排序后的數(shù)組: 1 2 3 5 7</pre><div class="contentsignin">登錄后復(fù)制</div></div><p><strong>示例 2:對(duì)字符串?dāng)?shù)組排序</strong></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:cpp;toolbar:false;'>#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string arr[] = {"apple", "orange", "banana", "kiwi", "mango"};
int len = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + len);
cout << "排序后的數(shù)組:";
for (int i = 0; i < len; i++)
{
cout << " " << arr[i];
}
cout << endl;
return 0;
}</pre><div class="contentsignin">登錄后復(fù)制</div></div><p>輸出:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>排序后的數(shù)組: apple banana kiwi mango orange</pre><div class="contentsignin">登錄后復(fù)制</div></div>
以上就是C++sort函數(shù)詳解與示例演示的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注愛(ài)掏網(wǎng) - it200.com其它相關(guān)文章!
聲明:所有內(nèi)容來(lái)自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。