c 中快速排序函式

2021-09-12 12:02:30 字數 915 閱讀 1954

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

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

ps:如果需要排序的樹木較多的話,這就是乙個極好的排序方法…

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

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

ii)sort函式有三個引數:

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

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

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

sort函式使用模板:

sort(start,end,排序方法)

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

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

#include #include int main()

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

cout《例二:sort函式有第三個引數,實現的是從小到大。

#include #include using namespace std;

bool cmp(int a,int b)

int main()

;

sort(a,a+6,cmp);

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

return 0;}

---------------------

原文:

c 中快速排序

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

c 中sort函式的使用與快速排序

快速排序 快速排序是排序演算法中最常用的演算法,其時間複雜度為o nlogn include using namespace std int a 101 n void quicksort int left,int right a left a i a i temp quicksort left,i ...

C語言快速排序函式qsort

標頭檔案 include 函式原型 void qsort void base,size t nmemb,size t size,int compar const void const void 引數介紹 引數size 表示該陣列中每個元素的大小 位元組數 通常sizeof int 引數 compar...