c++调用gcd函数_c++函数库中一些实用的函数
有一些程序,雖然寫起來不難,但是可能比較麻煩或容易出錯,這時就可以用c++函數庫里自帶的一些實用的函數。
這里只記錄一些不太常見的函數。
-------------------------------------!持續更新!-----------------------------------------------------
--------------------------------------正文分界線-------------------------------------------------------
1. __gcd(x, y)
求兩個數的最大公約數,如__gcd(6, 8) 就返回2。在 algorithm 庫中。是不是很方便?
2. reverse(a + 1, a + n + 1)
將數組中的元素反轉。a 是數組名,n是長度,跟 sort 的用法一樣。值得一提的是,對于字符型數組也同樣適用。也在 algorithm 庫中。
3. unique(a + 1, a + n + 1)
去重函數。跟sort的用法一樣。不過他返回的值是最后一個數的地址,所以要得到新的數組長度應該這么寫: _n = unique(a + 1, a + n + 1) - a - 1.
4.lower_bound(a + 1, a + n + 1, x); upper_bound(a + 1, a + n + 1, x)
lower_bound是查找數組中第一個大于等于x的數,返回該地址,同理也是 pos = lower_bound(a + 1, a + n + 1, x) - a
upper_bound是查找第一個大于x的數,用法和lower_bound一樣
復雜度是二分的復雜度,O(logn)。(其實就是代替了手寫二分)
5.printf("%.3f M\n",(double)sizeof(a)/(1<<20));
這個其實不算函數,但是能輸出數組占用了多少內存,不用手算了~(a是數組名)。
6.fill(a + 1, a + n + 1, x)
將數組a中的每一個元素都賦成x,跟memset的區別是,memset是一個字節一個字節賦值,fill是一個元素一個元素賦值!(省掉一層for……)
總結
以上是生活随笔為你收集整理的c++调用gcd函数_c++函数库中一些实用的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓手机反应慢又卡怎么办_手机卡顿反应慢
- 下一篇: centos 对已有卷扩容_centos