Sort排序用法

2021-09-26 22:19:52 字數 1375 閱讀 2634

使用sort函式簡單、方便,c++一種排序方法之一 ,排序方法是類似於快排的方法

但是實際運用過程需要我們做一些變形

於是 寫下這篇筆記,以便後來複習

sort(start,end,cmp)

標頭檔案為

#include

sort函式有三個引數:

(1)第乙個引數是陣列的首位址,一般寫上陣列名就可以,因為陣列名是乙個指標常量

(2)第二個引數相對較好理解,即首位址加上陣列的長度n**(代表尾位址的下一位址) **

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

不指定第三個引數

int a[10]

=;sort

(a,a+10)

;//指標

此時 預設從小到大排序

實現從大到小排序

需要加入乙個比較函式compare()

bool compare

(int a,

int b)

int a[10]

=;sort

(a,a+

10,compare)

;//在這裡就不需要對compare函式傳入引數了

結構體排序

有乙個結構體 node

struct node

先按a值公升序排列,如果a值相同,再按b值降序排列,如果b還相同,就按c降序排列

bool cmp

(node x,node y)

若要公升序,第乙個的值小於第二個

若要降序,第乙個的值大於第二個

還可以對結構體的比較運算子 過載

結構體內部過載

typedef

struct node

}node;

這裡 不能寫 const node& n 可能是 這前面 沒有 node

結構體外部過載

bool operator<

(const node& n1,

const node& n2)

這裡可以 寫 const node& n1,const node& n2

sort排序用法

做acm題的時候,排序是一種經常要用到的操作。如果每次都冒泡之類的o n 2 排序,不但程式容易超時,而且費時。在algorithm 演算法 庫里有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含三個標頭檔案。include include using names...

排序sort 排序用法

語法 array sort fun 引數fun可選。規定排序順序。必須是函式。注 如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。如果想按照其他規則進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的...

js排序 sort 排序用法

語法 array.sort fun 引數fun可選。規定排序順序。必須是函式。注 如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。如果想按照其他規則進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的...