sort函式的用法 C 排序庫函式的呼叫

2021-08-22 19:33:09 字數 1418 閱讀 4699

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

i)sort函式標頭檔案

#include
ii)sort函式有三個引數:

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

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

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

sort函式使用模板:

sort(start,end,排序方法)

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

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

#include

#include

using

namespace

std;

int main()

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

cout

<< a[i] << endl;

sort(a, a + 10);

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

cout

<< a[i] << endl;

return

0;}

例二

如果要實現從大到小排序就需要加入第三個引數

需要加入乙個比較函式 complare(),此函式的實現過程是這樣的

bool complare(int a,int b)

實現程式:

#include

#include

using

namespace

std;

bool complare(int a, int b)

int main()

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

cout

<< a[i] << endl;

sort(a, a + 10, complare);//在這裡就不需要對complare函式傳入引數了,這是規則

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

cout

<< a[i] << endl;

return

0;}

假設自己定義了乙個結構體node

struct node

;

有乙個node型別的陣列node arr[100],想對它進行排序:先按a值公升序排列,如果a值相同,再按b值降序排列,如果b還相同,就按c降序排列。就可以寫這樣乙個比較函式:

以下是**片段:

bool cmp(node x, node y)

參考博文:

sort函式的用法 C 排序庫函式的呼叫

對陣列進行排序,在c 中有庫函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。一 為什麼要用c 標準庫里的排序函式 sort 函式是c 一種排序方法之一,學會了這種方法也打消我學習c 以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為...

sort函式的用法 C 排序庫函式的呼叫

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

sort函式的用法 C 排序庫函式的呼叫

對陣列進行排序,在c 中有庫函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。一 為什麼要用c 標準庫里的排序函式 sort 函式是c 一種排序方法之一,學會了這種方法也打消我學習c 以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為...