vector 超级 日白 解决的问题空间问题,可以自由伸缩. 一下用法: 向量大小: vec.size(); 向量判空: vec.empty(); 末尾添加元素: vec.push_back(); //例vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a; 末尾删除元素: vec.pop_back(); //例vec.erase(vec.begin()+2);删除第3个元素 vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j…
binary_search(二分查找) //版本一:调用operator<进行比较 template <class ForwardIterator,class StrictWeaklyCompareable> bool binary_search(ForwardIterator first,ForwardIterator last,const StrictWeaklyCompareable &value); //版本二:调用自己定义的function object templat…
 用lower_bound进行二分查找 ●在从小到大排好序的基本类型数组上进行二分查找. 这是二分查找的一种版本,试图在已排序的[first,last)中寻找元素value.如果[first,last)具有与value相等的元素(s),便返回一个迭代器,指向其中第一个元素.如果没有这样的元素存在,便返回“假设这样的元素存在是应该出现的位置”.也就是说,它会返回一个迭代器,指向第一个“不小于value的元素”.如果value大于[first,last)内的任何一个元素,则返回last.以稍许不同的…
对于这几个函数的一些实例以便于理解: #include <cstdlib> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { // vector的插入:如果迭代器指向了某一元素,那么插入后将该元素挤到了后面,即插入到该元素之前…
关于STL中的排序和检索,排序一般用sort函数即可,今天来整理一下检索中常用的函数——lower_bound , upper_bound 和 binary_search . STL中关于二分查找的函数有三个lower_bound .upper_bound .binary_search .这三个函数都运用于有序区间(当然这也是运用二分查找的前提). Tips:1.在检索前,应该用sort函数对数组进行从小到大排序.     2.使用以上函数时必须包含头文件:#include < algorith…
http://www.cplusplus.com/reference/algorithm/upper_bound/左闭右开 Return iterator to lower bound Returns an iterator pointing to the first element in the range [first,last) which does not compare less than val. Return iterator to upper bound Returns an i…
实现了简单的vector有序插入,这个题目值得注意的点是1.当vector为空时,需要判断再排除 2.迭代器的使用是此段代码的特点 int insertVector(vector<int> & L, int k){ if(L.empty()){ L.push_back(k); ; } else if(k<L.front()){ L.insert(L.begin(),k); ; } else if(k>L.back()){ L.push_back(k); ; } else{…
php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: $ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; $ip = ($ip) ? $ip : $_S…
源码 lower_bound template <class ForwardIterator, class T> ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last, const T& val) { ForwardIterator it; iterator_traits<ForwardIterator>::difference_type count, step; count = d…
unique(): 作用:unique()的作用是去掉容器中相邻元素的重复元素(数组可以是无序的,比如数组可以不是按从小到大或者从大到小的排列方式) 使用方法:unique(初始地址,末地址): 这里要注意的是: 1.unique()函数返回值不是去重后容器中元素的数量,而是去重后容器中的末地址.也就是说,如果想得到去重后容器中元素的数量的话还要减去初始地址. 2.unique函数在去重的时候不会扔掉重复元素,而是会把它放在容器的末尾,也就是说数组的长度一直没有变化. 举一个例子: #inclu…