摘要:
今天看了一个面试题:问new 和 malloc, delete 和 free 的区别,扭捏了半天,也没说完全;现总结如下: 1.先看看new 和 delete 看一个例子: void Test (){ int* p4 = new int; // 动态分配4个字节(1个 ... 阅读全文
摘要:
原题:用两个栈实现一个队列。 思想: 1.栈的特点不就是 先进后出,队列的特点就是先进先出。 2.用两个栈实现先进先出的功能; 图示:假设入队数据为 : 1,2,3,4,5,6, , 红色方框中的 push 和 pop 等效为队列的push 和 pop 1.push就和栈stack1的push... 阅读全文
摘要:
思想不多说,直接上一张图:(图是盗取的奥,快闭馆了,的抓紧时间): 先分解,排序,然后合并,一下是代码: #pragma once//合并两个分组的void MergeSection(int *a, int *tmp, int begin1, int end1, int begin2, in... 阅读全文
摘要:
关于二叉树的重建,我总结如下,并以图文的形式展示: 一颗二叉树,已知先序遍历和中序遍历,要求还原出二叉树,问题不难,关键是细节: 思想: 1、先序遍历序列的第一个元素一定定是根节点,可以由此获取二叉树的根节点。 2、在中序遍历序列中查找到根节点,由中序遍历的性质可知,中序遍历中该根节点... 阅读全文
摘要:
可以说是不知天高地厚。。 可以说是班门弄斧。。 但是,我今天还就这样走了,我喜欢!!!!!! 注:后续文章,限于篇幅,不懂名词都有 紫色+下划线 超链接,有兴趣,可以查阅; 网上关于Leveldb 的源码剖析啊,解析啊什么的有好多,差不多都是大神级别的在搞,如果我们水平相当,那不如凑一对... 阅读全文
摘要:
这样的链表问题时不时的出现,你有没有特定的方法去处理呢:以下给出你可能用到的算法: 第一种:改变链表的结构 思想: 1.从尾到头打印链表,那就逆置链表呗 2.打印逆置后的链表; 这个简单,直接上代码: void PrintListRevers(ListNode* pHead){ //1.链表逆... 阅读全文
摘要:
背景:网络编程中,如果说URL参数中含有特殊字符,就拿空格说,可能导致服务器端无法获得正确的的参数值,这个时候就需替换。 1.空格,替换成%20 2.#被替换成%23,等 下边看看,以字符串中空格被替换成%20的场景:例子为 替换 we are happy 中的空格; 总体思想: 1.遍历找... 阅读全文
摘要:
转载自:http://hovertree.com/h/bjaf/cppmianshi.htm 1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”? 答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变... 阅读全文
摘要:
题目为:在二维数组中,每一行从左到右递增,每一列都从上到下递增,写一个函数,输入这样一个数组和一个整数,判断这个数组中是不是有这个数字: 思想: 1.基本思想,最笨无非就是遍历这个二维数组嘛 2.全部遍历的话,题目给的从左到右,从上到下的条件就没有用到,所以,全部遍历显然不合适 先来一张图: ... 阅读全文
摘要:
声明一个字符串类,为这个类型添加赋值运算符 class MyString{public: //构造函数 MyString(char* pData = NULL); //构造函数 MyString(const MyString& str); //析构函数 ~MyString(v... 阅读全文