
STL
高达一号
这个作者很懒,什么都没留下…
展开
-
Stl 中vector
vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间,vector的优点:1. 可以使用下标访问个别的元素2.转载 2015-05-05 15:13:18 · 555 阅读 · 0 评论 -
STL/C++__中 set(集合) 删除元素
#include using std::set;int main(int argc,char *argv[]){ set s; set::iterator it; s.insert(1); s.insert(2); s.insert(3); for(it=s.begin();it!=s.end();){ if((*it)%2==0) s.erase(it++);转载 2015-10-10 15:01:40 · 12169 阅读 · 0 评论 -
C++/STL关联容器-集合-multiset&set的用法
C++ STL set和multiset的使用std::set s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具。)1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的转载 2015-05-06 16:23:00 · 642 阅读 · 0 评论 -
C++/STL_中Vector的基本操作与示例
标准库Vector类型使用需要的头文件:#include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。一、 定义和初始化Vector v1; //默认构造函数v1为空Vector v2(v1);//v2是v1的一个副本Vector v3(n,i);//v3包含n个值为i的元素Vector v4(n); //v4含有n转载 2015-08-14 15:55:10 · 794 阅读 · 0 评论 -
C++/STL中 vector中对 “=”赋值运算符的支持
由于好奇STL中的vector 对于自定义数据类型的 “ = ”(赋值运算符的)支持,谢了一段简单的测试代码进行测试。结果证明vector对于赋值预算符支持良好,但是对于动态分配的类构成的vector数组,博主认为一定要重写析构函数与复制构造函数以及运算符重载“=”运算符(这是一条软件规则,详见博主测试),链接如下:http://blog.youkuaiyun.com/u010003835原创 2015-08-14 16:04:44 · 21803 阅读 · 2 评论 -
C++/STL_中vector基本操作测试代码,vector.erase()使用方法
通过vector我们可以减少类里的变量,比如一个类里存储了一个数据但是不知道这个数据到底要存储个,我们常常使用结构体数组加一个变量来记录存储记录的数量,但是通过vector可以简化这个变量,因为vector里面有通用的size方法可以帮我们完成这个操作。测试代码:#include #include using namespace std;struct Point{ in原创 2015-08-11 15:11:58 · 3799 阅读 · 0 评论 -
C++/STL用erase删除元素(vector,deque),(list,set,map)
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1 std::list List; std:转载 2015-08-11 20:25:35 · 4789 阅读 · 0 评论 -
C++/STL_利用remove_if 删除vector,list,deque满足条件的元素
#include forward_iterator remove_if( forward_iterator start, forward_iterator end, Predicate p );函数remove_if()移除序列(start, end)中所有应用于谓词p返回true的元素.此函数返回一个指向被修剪的序列的最后一个元素迭代器.记住, remove_i转载 2015-08-11 20:10:00 · 2927 阅读 · 0 评论 -
STL中list::assign
list::assignvoid assign( const_iterator First, const_iterator Last);void assign( size_type n, const T& x = T( ));iterator erase( iterator It);iterator era转载 2015-05-06 11:29:50 · 3481 阅读 · 0 评论 -
STL中实现降序排列
#include #include #include #include using namespace std;template void printList(const list &listRef);/*template bool cmp(T t1, T t2){ return t1>t2;}*/bool cmp(int t1, int t2){ retur原创 2015-05-06 10:49:07 · 1746 阅读 · 0 评论 -
STL中list实现降序排列
STL list可以对基本数据、字符串直接调用sort()函数默认做升序排列,但是对于降序排列或者对非基本数据类型排序(对象、数组等)需要借助operator()函数实现,这点和Java中的List很相似。具体调用函数:list.sort(Cmpare());其中Cmpare是一个类或结构体,成员函数operator()必须是公共类型的。我举一个简单的例子(对学生按年龄转载 2015-05-06 10:30:24 · 3164 阅读 · 0 评论 -
C++_模板类的友元运算符重载_原理
#includeusing namespace std;template class Test{private: T num;public: Test( T n) { num=n; }friend ostream& operator(ostream &out,const Test &);};template ostream& operator(ostream &转载 2015-08-06 10:44:52 · 7167 阅读 · 4 评论