c++
xia_yu_mao_fa
如果不逼自己,你不知道自己有多少潜能
展开
-
平衡二叉树(AVL树)
平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫AVL树。平衡二叉树要求对于每一个节点来说,它的左右子树的高度之差不能超过1,如果插入或者删除一个节点使得高度之差大于1,就要进行节点之间的旋转,将二叉树重新维持在一个平衡状态。这个方案转载 2014-04-28 23:30:17 · 710 阅读 · 0 评论 -
Substring in c programming
在c++中,string类型的变量有substr方法用来取字串,现实现c中的字符串char *原创 2014-06-12 21:10:01 · 603 阅读 · 0 评论 -
二级指针与链表
使用二级指针有时可以巧妙的求解链表问题,其实不用二级指针也可以求解答,但是原创 2014-06-30 20:55:35 · 683 阅读 · 0 评论 -
编程愚蠢错误~~~~~~~~~~~
1、vector iter=vec.begin();原创 2014-06-11 22:55:05 · 415 阅读 · 0 评论 -
【C++ STL学习之七】STL算法之find和find_if
一、find()算法返回区间[first,end)中第一个值等于value的元素的位置。如果没有找到匹配元素,则返回end。复杂度:线性复杂度。最多比较次数是:元素的总个数。程序实例:下面的程序在int类型的vector中搜寻元素5和12,如果搜索到,就返回其位置if欧泽输出提示信息。main.cpp(头文件algostuff.h和上一篇转载 2014-04-28 21:25:33 · 705 阅读 · 0 评论 -
【C++ STL学习之八】逆向迭代器reverse_iterator
对于逆向迭代器,很重要的一点是需要弄清楚逻辑位置和实际位置二者的区别。下图显示了逆向迭代器的位置和所指的数值:可以发现,逆向迭代器所指位置(实际位置)和所代表的的数值(逻辑位置或数值)是不同的。C++这么做是有其原因的。导致这个行为的原因是区间的半开性。为了能够制定容器内的所有元素,我们必须运用最后一个元素的下一个位置。但是对于reverse迭代器而言,这个转载 2014-04-28 21:27:25 · 592 阅读 · 0 评论 -
【C++ STL学习之六】STL算法之for_each
for_each()函数将调用者提供的操作施加于每一个元素身上。它既可以是非变动性算法,也可以说是变动性算法将函数f施加于区间[first,last)的每一个元素身上。其实现:[cpp] view plaincopyprint?templateclass InputIterator, class Function>转载 2014-04-28 21:23:23 · 479 阅读 · 0 评论 -
【C++ STL学习之五】容器set和multiset
一、set和multiset基础set和multiset会根据特定的排序准则,自动将元素进行排序。不同的是后者允许元素重复而前者不允许。需要包含头文件:#include set和multiset都是定义在std空间里的类模板:[cpp] view plaincopyprint?templatecla转载 2014-04-28 21:21:14 · 366 阅读 · 0 评论 -
【C++ STL学习之四】容器list深入学习
一、list基础List使用一个双向链表来管理元素。图一显示了list的结构。图一 list的结构任何型别只要具备赋值和可拷贝两种性质,就可以作为list的元素。二、list的功能list的内部结构和vector和deque截然不同,在很多方面都表现不同:1、list不支持随机存取。所及既不提供下表操作符,也不提供at()函数转载 2014-04-28 21:16:34 · 575 阅读 · 0 评论 -
【C++ STL学习之三】容器deque深入学习
C++ STL容器deque和vector很类似,也是采用动态数组来管理元素。使用deque之前需包含头文件:#include 它是定义在命名空间std内的一个class template:templateclass _Ax = allocator >class deque;第一个template参数用来表示元素型别,第二个可转载 2014-04-28 21:12:02 · 532 阅读 · 0 评论 -
【C++ STL学习之二】容器vector大总结
一、容器vector使用vector必须包含头文件:#include型别vector是一个定义于namespace std内的template:[cpp] view plaincopyprint?templateclass _Ty, class _Ax = allocator > 第二个参数定义转载 2014-04-28 21:07:31 · 487 阅读 · 0 评论 -
【C++ STL学习之一】容器的共通能力和共通操作总结
一、C++ STL各容器有一些共通的能力其中三个最核心的能力是:(1)所有容器提供的是“value语意”而不是“reference语意”。容器进行元素的安插操作时,内部实施的是拷贝操作,存放的是元素的副本。因此容器的每一个元素必须能被拷贝。如果打算存放的对象不具备public 拷贝构造函数或者你要得不是对象的副本,那么容器元素只能是指针。(2)所有元素形成一转载 2014-04-28 20:55:01 · 595 阅读 · 0 评论 -
c++ 析构函数调用解析
注意:系统只会自动释放栈内空间,而堆内空间需要用户自己维护。C++中,除了new来的空间存放在堆内,其他均存放在栈中。原创 2014-04-21 21:42:39 · 899 阅读 · 0 评论 -
c++11新特性:unordered_map
unordered_map和map类似,都是存储的key-value的zhi原创 2014-04-17 10:27:48 · 25629 阅读 · 1 评论 -
C++ Variables
Local VariablesA local variable is one that occurs within a specific scope. They exist only in the function where they are created.They are sometimes called automatic variables because they are原创 2014-05-05 20:14:12 · 878 阅读 · 0 评论 -
头文件string与string.h的区别
dddd原创 2014-04-16 19:58:30 · 3119 阅读 · 0 评论 -
编程技巧
1、二分查找的时候,可以使用int mid=left+(right-left)/2;也可以s原创 2014-07-12 22:11:20 · 488 阅读 · 0 评论