STL初步 提交ACM会TLE /仅以学习STL与迭代器使用 C. Cards Sorting time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Vasily has a deck of cards consisting of n cards. There is an integer on each of the cards, this…
1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单元上非连续,是通过指针相连在一起的. 2. 相较于vector的连续线性空间,list会显得复杂许多,他的好处是每次插入或者删除1个元素,就是配置或释放一个元素的空间. 3. list 不可以随机存取元素,所以不支持 at.(position)函数与[]操作符.可以对其迭代器执行++,但是不能这样操…
今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector<struct> mFriendList;...std::vector<struct>::iterator iter = mFriendList.begin();for ( ; iter != mFriendList.end(); ++iter){ if (...) mFr…
STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题.对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的表项(当然这个函数是应该运行在另起一个线程上的),但是在按照下面的方法对hash_map(用迭代器)遍历删除时,当找到第一个满足删除条件的元素并将其删除后,程序将提示非法: for(list<int>::iterator iter = m_map.begin(); iter != m_map.en…