STl庫中的快排

2021-09-12 10:22:20 字數 2586 閱讀 1325

acm做題過程中經常要用到排序,一般都選用快排,在此對快排做個總結

其中**用c表示

#include

#include

//必須包含該標頭檔案

struct 結構體型別名 //資料型別=「struct」+「空格」+「結構體型別名」

陣列名[陣列大小];

int 自定義函式名字(

const

void *a,

const

void *b)

qsort(陣列名,陣列大小,

sizeof(資料型別),自定義函式名字);

//呼叫快排(寫在呼叫的地方)

下面是一些具體的例子

#include

#include

intcmp(const

void *a,const

void *b)

qsort(p,n,

sizeof(

int),cmp);

//呼叫快排(其中p是int型陣列名,n是陣列長度)

同樣c++的stl庫中也提供了sort排序函式,可以直接拿來使用。在一些題目中,使用上述方法所導致的超時往往換成sort函式即可解決

①sort是乙個改進版的qsort. std::sort函式,實驗證明sort一般要快於qsort

②優於qsort的一些特點:對大陣列採取9項取樣,更完全的三路劃分演算法,更細緻的對不同陣列大小採用不同方法排序。

③sort是qsort的公升級版,如果能用sort盡量用sort,使用也比較簡單,不像qsort還得自己去寫 cmp 函式

**如下:

#include

#include

//必須包含該標頭檔案

using

namespace

std;

intmain

()

#include

#include

//必須包含該標頭檔案

#include

//必須包含該標頭檔案

using

namespace

std;

intmain

()

#include

#include

intcmp(const

void *a,const

void *b)

qsort(p,n,

sizeof(

int),cmp);

#include

#include

#include

struct

stu //將字串存到結構體中的q域

p[1005];

intcmp(const

void *a,const

void *b)

//結構體陣列p中,以其成員字串q為關鍵字,對p從小到大進行排序

qsort(p,n,

sizeof(struct stu),cmp);

//呼叫快排(其中p是struct stu型陣列名,n是陣列長度)

#include

#include

#include

struct

stu

p[1005];

intcmp(const

void *a,const

void *b)

//結構體陣列p中,以其成員字串q為關鍵字,對p從大到小進行排序

qsort(p,n,

sizeof(struct stu),cmp);

#include

#include

struct

stu

p[1005];

intcmp(const

void *a,const

void *b)

qsort(p,n,

sizeof(struct stu),cmp);

#include

#include

struct

stu

p[1005];

intcmp(const

void *a,const

void *b)

//結構體陣列p中,以其成員a為關鍵字,對p從大到小進行排序

qsort(p,n,

sizeof(struct stu),cmp);

STL庫中快排sort函式詳解

使用 include using namespace std 作用 排序 時間複雜度 n lg n 實現原理 sort並不是簡單的快速排序,它對普通的快速排序進行了優化,此外,它還結合了插入排序和推排序。系統會根據你的資料形式和資料量自動選擇合適的排序方法,這並不是說它每次排序只選擇一種方法,它是在...

VC庫中快排函式的詳解

author bakari date 2012.8.9 以前都是自己手動寫這個演算法,覺得也不是一件很麻煩的事,但現在寫的程式基本上都用得著快排,重新去寫這個演算法很沒有必要。直接使用vc庫中提供的qsort方便了很多,並且百試不爽。今天總結一下這個函式的強大之處。經典排序之快速排序 1 函式原型 ...

VC庫中快排函式的詳解

author bakari date 2012.8.9 以前都是自己手動寫這個演算法,覺得也不是一件很麻煩的事,但現在寫的程式基本上都用得著快排,重新去寫這個演算法很沒有必要。直接使用vc庫中提供的qsort方便了很多,並且百試不爽。今天總結一下這個函式的強大之處。經典排序之快速排序 1 函式原型 ...