随笔分类 -  STL

C++标准库
摘要:for(;iter!=mapStudent.end();){ if((iter->second)>=aa) { //满足删除条件,删除当前结点,并指向下面一个结点 mapStudent.erase(iter++); } else { //条件不满足,指向下面一个结点 iter++; }}这种删除方式... 阅读全文
posted @ 2014-06-16 22:46 vranger 阅读(283) 评论(0) 推荐(0)
摘要:set容器中不能插入重复的元素,需要其插入的元素有比较大小(> mySet ; 等同于 std::set mySet;所以需要元素的数据类型 具有 大小、相等判断的函数。对于编译器标准定义数据类型(如 int,float,double等),系统已经定义大小判断;但对于自定义数据就要注意自己动手添加这... 阅读全文
posted @ 2014-06-05 16:53 vranger 阅读(3157) 评论(0) 推荐(0)
摘要:vector容器中实现可以通过以下两种方式实现:#include "stdafx.h"#include #include //#include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ vector arrayInt; arrayInt.resize(10); for (int i=0;i arrayRever; arrayRever.reserve(arrayInt.size()); //vector反转 //----------------------------... 阅读全文
posted @ 2014-01-02 23:47 vranger 阅读(76012) 评论(0) 推荐(3)
摘要:标准库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个值为0的元素二、 值初始化1> 如果没有指定元素初始化式,标准库自行提供一个初始化值进行值初始化。2> 如果保存的式含有构造函数的类类型的元素,标准库使用该类型的构造函数初始化。3> 如果保存的式没有构造函数的类类型 阅读全文
posted @ 2014-01-02 15:57 vranger 阅读(584) 评论(0) 推荐(0)
摘要:注释如下:iterator erase(iterator it); // 删除指定元素,并返回删除元素后一个元素的位置(如果无元素,返回end())iterator erase(iterator first, iterator last);// 删除[first,last)对应的元素,也即first对应元素被删除,last对应的元素不被删除,并返回最后一个被删除元素的下一个元素位置, //对本函数也即为迭代器last。 //注意:删除元素后,删除点之后的元素对应的迭代器不再... 阅读全文
posted @ 2014-01-02 15:52 vranger 阅读(2449) 评论(0) 推荐(0)
摘要:二维数组的存储方式是和一维数组没什么区别,但是用二维数组做参数,它的形参该怎样写?要注意的是:函数中的形参其实就相当于一个声明,并不产生内存分配,形参的目的就是要让编译器知道函数参数的数据类型。正确的是:void Func(int array[3][10]);void Func(int array[... 阅读全文
posted @ 2013-12-03 17:33 vranger 阅读(402) 评论(0) 推荐(0)
摘要:insert() 函数有以下三种用法:iterator insert( iterator loc, const TYPE &val ); //在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器void insert( iterator loc, size_type num, const TYPE &val ); //在指定位置loc前插入num个值为val的元素void insert( iterator loc, input_iterator start, input_iterator end ); //在指定位置loc前插入区间[start, end)的所有元素 阅读全文
posted @ 2013-09-26 19:01 vranger 阅读(4872) 评论(0) 推荐(0)
摘要:http://wenku.baidu.com/view/d90e21c658f5f61fb73666e3.html?from_page=view&from_mod=download下面三种定义形式怎么理解?怎么动态分配空间? (1)、int **Ptr; (2)、int *Ptr[ 5 ]; 我更喜... 阅读全文
posted @ 2013-05-08 14:07 vranger 阅读(229) 评论(0) 推荐(0)
摘要:为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ... 这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然后按照名字一个一个比较。如果要速度快,就需要把这些记录按照字母顺序排列,然后按照二分法查找。但是增加记录的时候同时需要保持记录有序,因此需要插入排序。考虑到效率,这就需要用到二叉树 阅读全文
posted @ 2013-01-11 10:12 vranger 阅读(276) 评论(0) 推荐(0)