摘要: 1.获取内存占用信息获取步骤:(1)获取当前进程句柄 使用GetCurrentProcess(),返回一个当前进程的句柄(2)定义一个保存内存信息的结构体 PROCESS_MEMORY_COUNTERS pmc;结构体定义如下:typedef struct _PROCESS_MEMORY_COUNT... 阅读全文
posted @ 2016-01-15 14:53 runninglzw 阅读(16741) 评论(0) 推荐(0) 编辑
摘要: C++中动态内存的分配是在堆中进行的,主要通过下面3个方面:1.new和deletenew和delete很常见,new运算符分配内存,并且同时调用对象的构造函数,delete释放内存,并且调用对象的析构函数,但是new 和delete管理内存需要手动分配和释放内存,然而在程序中很难选择适当的时机释放... 阅读全文
posted @ 2015-08-26 21:12 runninglzw 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 除了每个容器定义的迭代器之外,在标准库头文件iterator中还定义了额外几种迭代器1.插入迭代器插入迭代器是一种迭代器适配器,它接受一个容器,返回一个迭代器,能实现向容器添加数据插入迭代器有3中类型,都是返回一个容器的插入迭代器,区别是所插入的位置不同(1)back_inserter(vec):创... 阅读全文
posted @ 2015-08-23 15:14 runninglzw 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 泛型算法只是依赖于迭代器的操作,而不是依赖于容器泛型算法可以分为3大类:下面的vec和vec2代表相同类型的容器1.只读算法:只允许读取其输入范围内的元素,而不改变元素find(vec.cbegin(),vec.cend(),k)查找算法:前两个参数表示元素范围的迭代器,第三个参数k表示要查找的元素... 阅读全文
posted @ 2015-08-22 22:01 runninglzw 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 1.容器类型按关键字有序保存元素:map:用来保存键值对,关键字不可以重复set:只保存关键字,关键字不可重复multimap:用来保存键值对,关键字可以重复multiset:只保存关键字,关键字可以重复无序集合:unordered_map:用哈希函数组织的mapunordered_set:用哈希函... 阅读全文
posted @ 2015-08-16 18:23 runninglzw 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 顺序容器总结:array:固定大小的数组,支持快速访问,不能添加和删除元素vector:动态数组,支持快速访问,但在尾部之外插入或删除元素会很慢string:与vector相似的容器,用于保存字符deque:双向队列,支持快速随机访问,在头尾位置插入元素速度很快list:双向链表,支持双向访问,在链... 阅读全文
posted @ 2015-08-15 19:01 runninglzw 阅读(1036) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。例如输入数组{5,7,6,9,11,10,8},则返回true,如果输入的数组是{7,4,6,5},则返回false。思路:因为该序列的最后一位肯定... 阅读全文
posted @ 2015-06-26 21:41 runninglzw 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:根结点入队,然后循环判断队列是否为空,不为空则出队列,然后判断出队列的结点是否含有左右子结点,有的话则左右子结点分别进队列,直到队列为空实现代码如下:#include #includeusing namespace std; st... 阅读全文
posted @ 2015-06-20 23:59 runninglzw 阅读(1446) 评论(0) 推荐(0) 编辑
摘要: 题目:判断一数字序列是否为这些数字入栈的一种出栈方式思路:首先申请一个辅助栈来模拟进栈出栈,然后判断栈顶元素和出栈数字是否一致,不一致则入栈序列依次进栈,直到栈顶元素和出栈数字一致时:弹出栈顶元素,出栈序列的指针后移,当进栈序列最后一位数字进栈并且它和出栈数字不相符的话,证明弹出序列不正确。代码如下... 阅读全文
posted @ 2015-06-15 19:36 runninglzw 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。思路:定义两个栈,一个栈data用来正常压入、弹出数据,另一个栈min,压入的时候压入当前最小的数,弹出的时候也弹出最小的数当压入栈的时候,如果压入的数据小于当前栈中最小... 阅读全文
posted @ 2015-06-11 19:39 runninglzw 阅读(241) 评论(0) 推荐(0) 编辑