C 常用排序演算法

2021-10-02 08:47:34 字數 1778 閱讀 2116

sort //對容器內元素進行排序

random_shuffle //洗牌,指定範圍內的元素隨機調整次序

merge //容器元素合併,並儲存在另一容器中

reverse //反轉指定範圍的元素

(1)sort

對容器內元素進行排序

函式原型:sort(iterator beg,iterator end,_pred); //按值查詢元素,找到返回指定

示例:

void

洗牌演算法,對指定範圍內的元素隨機調整次序

函式原型:

random_shuffle(iterator beg,iterator end); //指定範圍內的元素隨機調整次序

示例:

#include

using

namespace std;

#include

#include

#include

void

myprint

(int val)

void

test01()

//利用洗牌 演算法,打亂順序

random_shuffle

(v.begin()

,v.end()

);for_each

(v.begin()

,v.end()

,myprint)

; cout<

}

(3)merge

兩個容器元素(必須有序)合併,並儲存到另乙個容器中,

函式原型:

merge(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest); //容器元素合併,並儲存到另乙個容器中

示例:

void

test01()

//目標容器

vector<

int>vtarget;

//提前給目標容器預留空間

vtarget.

resize

(v1.

size()

+v2.

size()

);//合併

merge

(v1.

begin()

,v1.

end(

),v2.

begin()

,v2.

end(

),vtarget.

begin()

);for_each

(vtarget.

begin()

,vtarget.

end(

),myprint)

; cout<

}

(4)reverse

將容器內元素進行反轉

函式原型:

reverse(iterator beg,iterator end); //反轉指定範圍的元素

示例:

void

test01()

常用排序演算法C

氣泡排序是比較簡單的o n2 級別的排序演算法,思路是挨個比較鄰近的數值,然後交換位置,就像在水裡的泡泡一樣,總能把最大的或者最小的交換到最上層。氣泡排序 template typename t void bubble sort t arr,int length 選擇排序的演算法級別也是o n2 思...

常用排序演算法 C實現

1.1 氣泡排序 演算法描述 所給的n個數中,先拿第乙個數來和第二個比較,然後讓較大的乙個排在後面 即如果n1 n2,則讓n1與n2交換位置 然後又拿第二個數來和第三個數比較,又把較大的乙個排在後面,如此往下做下去,直到第n 1個數和第n個數比較完後,最大的那個數就會被公升到了最後面來.接下來又照同...

C 實現常用排序演算法

原理 利用快速排序對乙個集合進行排序,任取集合的乙個元素,以這個元素為比較,所有比這個值大的放在右邊,小的值放在左邊,然後分別對左右區間進行遞迴排序。快速排序 public int sortunit listlist int low,int hign where t icomparable list...