1. 程式人生 > >一些可能很常用的函式介紹(持續更新)

一些可能很常用的函式介紹(持續更新)

一些次常用的函式介紹:

  • 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<<" ";
}