C++学习
文章平均质量分 64
大学笑长
这个作者很懒,什么都没留下…
展开
-
C++有序链表合并
问题 将两个有序链表合并成一个新的有序链表,例: list1: 1->4->8->9 list2: 2->3->5->6->10 合并后 list: 1->2->3->4->5->6->8->9->10 分析 利用两指针p1,p2分别指向两链表的头head1,head2,依次比较当前指针所指元素,若p1->val小于p2->val,则将p1所指元素添加原创 2015-08-08 10:28:32 · 557 阅读 · 0 评论 -
C++ set用法
set介绍 C++ 集合(set)是一种包含已排序对象的关联容器,能够自动对进入集合的元素排序,并且不允许重复(另一类集合(multiset)提供对重复元素的支持)。集合中的元素可以是常见类型,也可以是自定义的接口提类型。set容器有2个主要特征: (1)不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,再插入新元素。 (2)不提供直接存取元素的任何操作函数,只原创 2015-08-06 14:10:50 · 1009 阅读 · 0 评论 -
求最大连续子向量之和
问题引出 《编程珠玑》第8章引出一个模式识别问题:输入是具有n个浮点数的向量x,输出是输入向量的任何连续子向量中的最大和。例如: 31 -41 59 26 -53 58 97 -93 -23 84 那么应该输出想x[2..6]的综合,即187。 分析 当所有书都是正数时,问题很容易解决,此时最大子向量就是整个输入向量。当输入向量中有负数的时候,是否应该包含某个负数并期望旁原创 2015-08-07 08:31:17 · 708 阅读 · 0 评论 -
STL各容器底层所使用的数据结构
C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 deque是一个双端队列(原创 2017-02-20 15:49:59 · 329 阅读 · 0 评论