一些可能很常用的函式介紹(持續更新)
阿新 • • 發佈:2018-11-06
一些次常用的函式介紹:
- replace
replace(初始位置,結束位置,替換字串);
- find
(母字串).find(子字串,起始位置)
如果沒有設定起始位置預設為從頭開始。
- random_shuffle()
random_shuffle(起始位置,結束位置)
將陣列打亂。
- nth_element()
nth_element(起始位置,所求位置,結束位置)
陣列下表從零開始,nth_element(a,a+k,a+n),表示要把第k大的數放到下標為k的位置上。
時間複雜度為O(N),比所求數小的數都在這個數前面,比所求數大的數都在這個數後面,但是不保證有序。
最大的應用價值為求中位數
- set_union() 求並集
- set_intersection() 求交集
#include<iostream> #include<set> #include<iterator> #include<algorithm> using namespace std; int main() { set<int>s1,s2,s3,s4; s1.insert(1); s1.insert(2); s2.insert(2); s2.insert(4); set_union(s1.begin(),s1.end(),s2.begin(),s2.end(),inserter(s3,s3.begin())); set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end(),inserter(s4,s4.begin())); for(set<int>::iterator it=s3.begin();it!=s3.end();it++) cout<<*it<<" "; cout<<endl; for(set<int>::iterator it=s4.begin();it!=s4.end();it++) cout<<*it<<" "; }