C/C plus plus
文章平均质量分 56
fullstack_lth
这个作者很懒,什么都没留下…
展开
-
unordered_map和map的区别
boost::unordered_map, 它与 stl::map的区别就是,stl::map是按照operator<比较判断元素是否相同,以及比较元素的大小,然后选择合适的位置插入到树中。所以,如果对map进行遍历(中序遍历)的话,输出的结果是有序的。顺序就是按照operator< 定义的大小排序。而boost::unordered_map是计算元素的Hash值,根据Hash值判断元素是否相原创 2016-07-14 11:09:29 · 694 阅读 · 0 评论 -
C++去除字符串首尾和串中多余空格
一、问题描述去除字符串首尾空格,以及字符串中多余空格,如:s = “ Hello word ! ”处理后变为:result = “Hello world!”二、思路描述先去掉字符串的首尾空格,然后去除串中多余空格(词与词之间保留一个空格)。三、代码string & trim(string s){ if(s.empty()){ return s;原创 2016-08-20 09:23:52 · 10614 阅读 · 3 评论 -
C++STL之所有算法介绍
转载自:http://www.cppblog.com/y05zh/archive/2007/05/22/24644.aspx STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。 STL中算法大致分为四类: 1、非可变序列算法:指不直接修改其所操作的容器内容的算法。转载 2016-07-21 20:01:17 · 1193 阅读 · 0 评论 -
STL详解
C++:STL标准入门汇总第一部分:(参考百度百科) 一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的原创 2016-02-24 00:26:48 · 4609 阅读 · 0 评论 -
VS工程中添加c/c++工程中外部头文件及库的基本步骤
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤: 1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。 2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。 然后添加工程引用的lib文件名:工程---属性---原创 2015-09-08 10:38:40 · 8285 阅读 · 1 评论 -
vector,list,deque三者的区别
stl提供了三个最基本的容器:vector,list,deque。vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。l原创 2016-03-30 22:53:59 · 622 阅读 · 0 评论 -
C/C++中的常量指针与指针常量
常量指针常量指针是指向常量的指针,指针指向的内存地址的内容是不可修改的。常量指针定义“const int *p=&a;”告诉编译器,*p是常量,不能将*p作为左值进行操作。但这里的指针p还是一个变量,它的内容存放常量的地址,所以先声明常量指针再初始化是允许的,指针也是允许修改的,例如:int a=0,b=1;const int *p; //声明常量指针pp=&a;原创 2016-03-30 23:22:24 · 917 阅读 · 0 评论 -
C++中的多态
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。 C++多态性是通过虚函数来实现的,虚函数允许子类重新定原创 2016-03-30 23:32:54 · 1038 阅读 · 0 评论 -
C++ STL :vector 用法
这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作转载 2016-07-11 00:01:36 · 283 阅读 · 0 评论 -
atoi函数实现
一、atoi函数功能将字符串变为整数,考虑正负数和空格、tab字符。二、代码int implement_atoi(const char *p){ assert(p!=NULL); int res =0; bool negflag = false; while(*p==' ' || *p == '\t') p++; if('+' == *p || '-' == *p)原创 2016-07-21 16:33:43 · 475 阅读 · 0 评论 -
C++输入
一、C++中的输入方法1、cin:当碰到空格或换行符'\n'时,输入结束:char a[10],b[10];coutcin>>a>>b;cout输出结果为:Enter some input:12 34 561234END 2、cin.getline:当碰到换行符'\n'或达到所能接受的最大字符数时,输入结束:char a[10];原创 2016-07-19 16:38:35 · 991 阅读 · 0 评论 -
单链表递归反转和非递归翻转
今晚抽时间复习了链表,整理了递归版本和非递归版本的单链表翻转,欢迎指出错误。1、递归版本调用:ListNode * head = NULL;reverseRec(root, head);//head即为反转后得链表头实现如下:void reverseRec(ListNode *head = reverse(head);*root, ListNode *&head){ if (原创 2016-09-21 23:19:09 · 457 阅读 · 0 评论