STL
JasonLiu1919
却顾所来径,苍苍横翠微。
微信号:onepieceand
展开
-
采用hash_map进行表格之间数据的查找
http://www.it165.net/pro/html/201504/39277.htmlhttp://www.2cto.com/kf/201304/199523.htmlhttp://www.waitingfy.com/archives/480http://f.dataguru.cn/thread-370937-1-1.html原创 2015-09-26 15:00:59 · 1209 阅读 · 0 评论 -
map进行字符串的查找
本文是基于map的key和value进行数据的存放两组数据分别是krc_keyvalue和krc_keyvalue1。并对krc_keyvalue中的value值在krc_keyvalue1中的value值进行查找,如果krc_keyvalue1中找到krc_keyvalue中相同的value,则打印find it,否则打印not found。由于map中的find成员函数只能对key进行查找原创 2015-09-26 14:43:03 · 3887 阅读 · 1 评论 -
C++读取csv文件并以map进行存储
背景需求:将csv文件进行读取,并将其内容打印在屏幕上。实现方法:本文采用map(int,string)对csv文本的每一行进行存储。其中int为行号,而string对应每行的内容。而csv的每一行,又以map(int,string)进行存储,其中int表示列号,string表示该列存储的内容。从而实现对整个csv文本按照类似矩阵的方式进行存储。1)先将csv的内容逐行读取到m原创 2015-09-25 20:50:12 · 6144 阅读 · 1 评论 -
boost::unordered_map 和 std::map 的对比(包括速度和内存消耗)
背景:最近处理的单个文件,大概有13GB,数量条数约5000万。一次性读人到内存需要选择合适的数据结构对其进行存储。本文对比boost::unordered_map 和 std::map这两种数据结构在该使用情景下的效率。代码:#include "boost/unordered_map.hpp"#include #include #include "time.h"us原创 2016-01-05 17:30:02 · 8007 阅读 · 3 评论 -
基于map的海量数据归类
背景:有大概5000万条的数据,每条数据都是以json格式进行存储,每条数据中有多个字段,需要按照id字段将各个数据进行归类。方案:采用map > 存储id和该id类别下面的数据。步骤:先逐行读取文件,并进行json解析,存储想要提取的字段信息。根据id进行分类。如果该数据的id存在,则进行push操作,否则在新的id下面进行赋值。为方便结果的展示,本文将归类好的结果,以j原创 2016-01-05 18:10:21 · 689 阅读 · 0 评论 -
多线程的文件读写操作讨论
背景:对于13GB大小的文件,逐行读取,后写到一个新文件。单个线程,进行耗时242s。这里的处理操作比较简单,仅仅是直接写到一个新的文件。如果处理操作耗时越长,多线程的优点越能够显现出来。采用多线程:比如创建5个线程,进行。如果读用一个锁,写再用一个锁的话,耗时649s。如果读写用相同一个锁的话,耗时608。两者差别不太。发现是因为写操作选择不合理,该操作,要进行等待,将时原创 2016-01-08 11:30:14 · 12964 阅读 · 11 评论 -
Map的插入操作和按照value排序
背景对比map的插入操作效率说明常见的map插入操作有两种,一种是通过操作符[]进行插入,另一种则是通过insert成员函数进行插入。 []操作符进行插入。[]操作符示例:std::map<int,string> map1;map1[2]="Hello";插入2时,先在map1中查找主键为2的项,没发现,然后将一个新的对象插入map1中,键是2,此时的值是一个空字符串,在插入完成后,将字符串赋为原创 2016-06-02 10:04:41 · 6822 阅读 · 0 评论 -
C11编辑器升级和C11标准使用
背景C11中的一些特性需要对应的编译器才能支持。而有些系统默认的编译器并不支持C11,所以需要4.8及其以上的版本。编译器升级原GCC版本:4.4.7; 目标:升级GCC到4.8.2,以支持C++11。 1)获取GCC 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz; 2)解压缩:tar -原创 2017-04-25 20:15:04 · 5574 阅读 · 1 评论