C 中sort函式用法

2021-08-14 14:39:23 字數 1567 閱讀 6414

(一)為什麼要用c++標準庫里的排序函式

sort()函式是c++一種排序方法之一,學會了這種方法也打消我學習c++以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為n*log2(n),執行效率較高!

(二)c++標準庫里的排序函式的使用方法

i)sort函式包含在標頭檔案為#include的c++標準庫中,呼叫標準庫里的排序方法可以不必知道其內部是如何實現的,只要出現我們想要的結果即可!

ii)sort函式有三個引數:

(1)第乙個是要排序的陣列的起始位址。

(2)第二個是結束的位址(最後一位要排序的位址)

(3)第三個引數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個引數,此時預設的排序方法是從小到大排序。

sort函式使用模板:

sort(start,end,,排序方法)

下面就具體使用sort()函式結合對陣列裡的十個數進行排序做乙個說明!

例一:sort函式沒有第三個引數,實現的是從小到大

#include

#include

using namespace std;

int main()

;for(int i=0;i<10;i++)

cout}這就是告訴程式要實現從大到小的排序的方法!

#include

#include

using namespace std;

bool complare(int a,int b)

int main()

;for(int i=0;i<10;i++)

cout<

#include

using namespace std;

int main()

;for(int i=0;i<10;i++)

cout<());

for(int i=0;i<10;i++)

cout<

#include

using namespace std;

int main()

;for(int i=0;i<10;i++)

cout<());

for(int i=0;i<10;i++)

cout《第四:

使用 sort(begin,end,compare(asc)實現公升序,sort(begin,end,compare(desc)實現降序。

主函式為:class compare

;bool operator () (int num1,int num2) }};

int main()

,i;for(i=0;i<20;i++)

cout《例五:

利用sort函式還可以實現對字元的排序,排序方法大同小異,下面就把程式範例展示一下

#include

#include

using namespace std;

int main()

,i;for(i=0;i<20;i++)

cout<());

for(i=0;i<20;i++)

cout

}

C 中sort函式用法

排序示例 輸入兩個數n,t,其中n是待排的結構體個數,t 0代表用降序排序,t 1表示用公升序排序 例如這樣 例示 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 smith 67 tom ...

c 中sort()函式的用法

在c 中我們經常會用到排序函式sort 今天我們一起來學習一下sort 函式的具體用法.1 sort函式可以三個引數也可以兩個引數,必須的標頭檔案 include algorithm 和using namespace std 2 它使用的排序方法是類似於快排的方法,時間複雜度為n log2 n 3 ...

C 中的sort 排序函式用法

原文章 中的sort 排序函式用法m p 10183210.html sort first pointer,first pointer n,cmp 該函式可以給陣列,或者鍊錶list 向量排序。實現原理 sort並不是簡單的快速排序,它對普通的快速排序進行了優化,此外,它還結合了插入排序和推排序。系...