随笔分类 -  STL--相关

STL list链表的用法详解
摘要:本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函数push_back和push_front插入一个元素到list中 3 list的成员函数empty() 4 用for循环来处理list中的元素 5 用STL的通用算法for_each来处理list中的元素 6 用STL的通用算法count_if()来统计list中的元素个数 7 使用count_if()的一个更加复杂的函数对象。 8 使用STL通用算法find()在list中查找对象 9 使用S 阅读全文

posted @ 2011-08-01 08:38 原来... 阅读(28853) 评论(3) 推荐(4) 编辑

STL map 按值排序
摘要://在STL中,map是按键来排序的,但很多时候需要按值来排序。一种方法是将map转化为vector,然后排序。#include<iostream>#include<vector>#include<map>#include<string>#include<algorithm>usingnamespacestd;voidsortMapByValue(map<string,int>&tMap,vector<pair<string,int>>&tVector);intcmp(constpa 阅读全文

posted @ 2011-07-31 09:28 原来... 阅读(4636) 评论(0) 推荐(0) 编辑

STL sort函数介绍
摘要:STL 中 sort 函数用法简介 转自http://blog.csdn.net/rattles/article/details/5510919 做 ACM 题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。 STL 里面有个 sort 函数,可以直接对数组排序,复杂度为 n*log2(n) 。使用这个函数,需要包含头文件。 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是 [a,b) 。简单来说,有一个数组 int a[10 阅读全文

posted @ 2011-07-27 11:06 原来... 阅读(5650) 评论(0) 推荐(0) 编辑

C++ string类常用函数
摘要:C++ string类常用函数http://xiaocao000.spaces.live.com/blog/cns!F826A925CF33491A!117.entrystring类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:const char &am 阅读全文

posted @ 2011-07-21 18:55 原来... 阅读(386) 评论(0) 推荐(0) 编辑

c++ string详解
摘要:c++ string详解http://read.newbooks.com.cn/info/119627.html之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题………首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include //注意这里不是string.h s 阅读全文

posted @ 2011-07-21 18:54 原来... 阅读(6725) 评论(1) 推荐(2) 编辑

STL vector 容器介绍
摘要:介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在 阅读全文

posted @ 2011-07-21 18:52 原来... 阅读(1067) 评论(0) 推荐(0) 编辑

标准模板库(STL)学习指南之map映射
摘要:Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int描述,姓名用字符串描述(本篇文章中不用ch 阅读全文

posted @ 2011-07-19 09:24 原来... 阅读(2534) 评论(0) 推荐(1) 编辑

导航