STL:reverse函数、upper_bound函数、lower_bound函数

reverse函数:

#define dbg(args...) cout<<#args<<" : "<<args<<endl;

    char s[5]="sacd";
    dbg(s);

    reverse(s,s+4);
    dbg(s);

    string ss="abcde";
    reverse(ss.begin(),ss.end());
    dbg(ss);

 结果:

s : sacd
s : dcas
ss : edcba

upper_bound函数:

#define dbg(args...) cout<<#args<<" : "<<args<<endl;

    int x[5]={0,3,5,8,9};
    int pos=upper_bound(x+1,x+5,5)-x;
    dbg(pos);
    dbg(x[pos]);

结果:

pos : 3
x[pos] : 8

lower_bound函数:

#define dbg(args...) cout<<#args<<" : "<<args<<endl;

    int x[5]={0,3,5,8,9};
    int pos=lower_bound(x+1,x+5,5)-x;
    dbg(pos);
    dbg(x[pos]);

结果:

pos : 2
x[pos] : 5

原文地址:https://www.cnblogs.com/St-Lovaer/p/14350820.html