“我跟你们说,你们知道STL容器,vector/string/deque等等,都有个reserve方法吗?你们一个个地push_back,嫌C++比C慢,怪谁?” “要像我这样,预先分配足够大的空间,这样push_back的时候才快,明不明白?” “别老说写C比写C++好,因为C代码怎么运行的都在自 ...
分类:
编程语言 时间:
2017-04-05 09:55:09
阅读次数:
219
其实auto_ptr并不难理解。其本质上是一种类,这个类可以进行指针运算符的操作。但是他可以进行指针的智能管理,克服了裸指针抛出异常时,没有被调用虚构函数的风险。 其使用有一个最简单的逻辑,就是一旦碰见裸指针,就将其交给智能指针去管理。 auto_ptr不能作为STL容器的元素,因为STL在存入元素 ...
分类:
其他好文 时间:
2017-04-02 17:45:56
阅读次数:
170
STL容器之优先队列 原地址:http://www.cnblogs.com/summerRQ/articles/2470130.html 优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关键字是priority_queue(太伤了)。在一些定义了权重的地方这个数据结构是很有用的。 先回顾 ...
分类:
其他好文 时间:
2017-03-27 13:12:36
阅读次数:
220
理解了基数排序,也就理解了桶排序。 桶排序就是基数排序的一种优化,从MSD开始,即取最高位来排一次序,如果最高位没有重复(意味着没有冲突需要处理),是算法的最佳状态,O(n)。 如果有冲突,就将冲突的元素存放到对应的桶里(代码就是一个链表或者数组或者stl容器),然后对每个桶进行一次插入排序,平均情 ...
分类:
编程语言 时间:
2017-03-01 23:15:09
阅读次数:
323
heap并不属于STL容器组件,它分为 max heap 和min heap,在缺省情况下,max-heap是优先队列(priority queue)的底层实现机制。 而这个实现机制中的max-heap实际上是以一个vector表现的完全二叉树(complete binary tree)。 二叉堆( ...
分类:
其他好文 时间:
2017-02-04 16:30:18
阅读次数:
129
问题一:https://www.nowcoder.com/practice/f0069cfcd42649e3b6b0c759fae8cde6?tpId=46&tqId=29148&tPage=3&rp=3&ru=/ta/leetcode&qru=/ta/leetcode/question-ranki ...
分类:
编程语言 时间:
2017-01-23 17:32:25
阅读次数:
402
http://www.cnblogs.com/lewiskyo/p/4214592.html 之前写过一篇文章介绍智能指针,并且简单实现了auto_ptr. 里面提到 auto_ptr 不能做为Stl容器的元素,原因具体是 http://www.360doc.com/content/14/0429/ ...
分类:
其他好文 时间:
2017-01-01 17:16:02
阅读次数:
192
#include<iostream>
#include<string>
intmain()
{
stringstr=;//十个字符串
string::iteratorit;//stirng迭代
intindex=str.find("\\");
intx=0;
while(inedx!=-1)
{
if((index-1)==0)//前面的减去后面的是1那么就是相同
{
it=str.begin();
cout<<"找到相..
分类:
编程语言 时间:
2016-11-26 15:11:20
阅读次数:
183
使用一个基类指针删除派生类对象,同时基类的析构函数是非虚的,那么这个指针只会删除派生类对象中的基类的部分,其派生部分不会被删除。造成资源泄漏。而如果一个类并不用作基类,则没必要把析构函数声明为虚的,否则会浪费空间来存储虚函数指针和虚函数表。STL容器并不含虚析构函数,因此最好不要继承STL容器。只要... ...
分类:
其他好文 时间:
2016-11-19 15:41:35
阅读次数:
178
简单聊聊STL的容器适配器 stack 和 queue... ...
分类:
其他好文 时间:
2016-11-14 17:08:40
阅读次数:
194