C 演算法庫(algorithm)

2021-09-29 09:22:59 字數 2130 閱讀 1536

演算法庫需要標頭檔案: #include

返回函式 x 和 y 的最大值。

#include

#include

using

namespace std;

intmain()

返回函式 x 和 y 的最小值。

返回值為 x 的絕對值,必須為整數。如果是浮點數的絕對值使用< math.h > 中的 fabs()

交換 a,b 的值

reverse(first, last) :反轉[first, last)區間的資料,first和last都是迭代器。

int a[10]

=;sort

(a,a+

10)

預設是**從小到大排序(公升序)**的。引數分別是陣列的首位址、首位址+陣列長度。補充:利用sort函式對vector進行排序

vector<

int> numbers;

sort

(numbers.

begin()

,numbers.

end())

;

有兩種方式可以進行降序,可自由選擇

a.使用greater()

如果排序其他型別可更改引數

#include

#include

using

namespace std;

intmain()

;sort

(arr, arr +

5, greater<

int>()

);for(

int i =

0;i <

5;i++

)return0;

}

b.自定義乙個比較大小的函式,將大的排前面

//自定義函式:

bool

cmp(

int x,

int y)

這樣定義以後加入到sort函式的第三個引數即可sort(arr,arr + 5,cmp);

#include

#include

using

namespace std;

bool

cmp(

int x,

int y)

intmain()

sort

(arr,arr +

10,cmp)

;//降序排序

for(

int i =

0;i <

10;i++

) cout << endl;

return0;

}

#include

#include

#include

#include

using

namespace std;

//宣告結構體

struct student

a[101];

//定義結構體陣列a

//宣告排序函式

intcomp

(const student &a,

const student &b)

intmain()

{int n,k;

cin>>n>>k;

for(

int i=

1;i<=n;

++i)

cin>>a[i]

.id>>a[i]

.score;

sort

(a+1

,a+n+

1,comp)

; cout<

.id<<

' '<

.score<

return

0;

C 演算法庫標頭檔案 algorithm

algorithm標頭檔案是c 的標準演算法庫,它主要應用在容器上。因為所有的演算法都是通過迭代器進行操作的,所以演算法的運算實際上是和具體的資料結構相分離的 也就是說,具有低耦合性。因此,任何資料結構都能使用這套演算法庫,只要它具有相應的迭代器型別。函式功能 示例 all of any of no...

Algorithm 排序演算法

閒來無事回顧一下原來所學的排序演算法,包括冒泡 選擇 插入 希爾 快速 歸併排序,這六種。首先依次講解原理,最後放出實現及測試速度原始碼。我想大部分人學習的第乙個排序演算法就是這個。顧名思義,如泡泡般,越到水面就越大,即經過連續不斷的判斷,選取大 或小 的值進行交換,一輪結束後,未排序資料最後面的就...

基礎演算法 algorithm

標頭檔案 include sort first,last,compare next permutation first,last unique first,last sort first,last,compare frist 排序起始位置 指標或iterator last 排序終止位置 指標或ite...