摘要: 编译器是一个神奇的东西,它能够将我们所编写的高级语言源代码翻译成机器可识别的语言(二进制代码),并让程序按照我们的意图按步执行。那么,从编写源文件代码到可执行文件,到底分为几步呢?这个过程可以总结为以下5步: 1、编写源代码 2、编译 3、链接 4、装载 5、执行 今天主要说明的过程... 阅读全文
posted @ 2015-08-27 13:42 大城市小葫芦 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 今天做了中兴的秋招题目,有一个题以前没有仔细想过,题目我有点儿记不清楚了,大概意思是这样的:有一个循环的单链表,给定该链表的尾指针比给定头指针好么? 我的思路:如下图,这是一个循环单链表A和尾指针pHead和头指针pTail 既然给定两个指针来比较,比较的标准是什么?我认为比较的标准是... 阅读全文
posted @ 2015-08-20 14:27 大城市小葫芦 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 递归求格雷码 阅读全文
posted @ 2015-09-07 09:53 大城市小葫芦 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 腾讯的一道测试题 阅读全文
posted @ 2015-09-01 10:04 大城市小葫芦 阅读(431) 评论(5) 推荐(0) 编辑
摘要: 线程池的理解 阅读全文
posted @ 2015-08-30 09:04 大城市小葫芦 阅读(6421) 评论(0) 推荐(0) 编辑
摘要: 首先要明白一个概念,静态库和动态库的目的是为了使二进制代码重用。 静态库:假设一个场景,我们现在做了一个项目A,如果我们希望项目A中的代码能够用于以后的项目B中,该怎么办呢?最简单的想法就是将项目A的各个源文件编译生成的目标文件和其他项目的目标文件拼接起来,有两种方法可以做到这一点 1、... 阅读全文
posted @ 2015-08-27 21:20 大城市小葫芦 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 将这三个排序放在一起的原因是在输入数据无序或者随机性较大的情况下,三种排序的时间复杂度都是O(n^2),下面将依次介绍这三种排序方法1、插入排序 所谓插入排序,就相当于将未排序的序列分为两部分,第一部分是已经有序的(初试状态下,第一部分只包含第一个元素,它肯定是有序的),第二部分是无序的,顺序... 阅读全文
posted @ 2015-08-22 11:25 大城市小葫芦 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1、 堆排序的思想 输入一个数组,利用一组二叉树的操作使其变成有序的数组,就是堆排序 堆排序利用的是二叉树的思想,操作对象是数组,所以数组需要在逻辑上映射到二叉树上,由于数组的下标是连续的,而二叉树中只有完全二叉树和满二叉树是连续的,所以将数组元素逐个映射到完全二叉树上,然后配备一系列的操作即可... 阅读全文
posted @ 2015-08-19 21:45 大城市小葫芦 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 快速排序的思想: 分治法,将大问题分为若干个小的问题,解决小问题然后合成大问题的解典型的快速排序的一般过程: 1、在数组中找到一个数,一般选作数组最后一个数作为中轴数X 2、以中轴数X作为中心,使用一次划分partition,使得中轴数左边的数都比X小,右边的数都比X大,换句话说经历过一次划分... 阅读全文
posted @ 2015-08-19 15:49 大城市小葫芦 阅读(223) 评论(1) 推荐(0) 编辑
摘要: C++中的new操作符首先使用operator new函数来分配空间,然后再在此空间上调用类的构造函数构造对象。当operator new无法分配所需的内存空间时,默认的情况下会抛出一个bad_alloc异常,在抛出这个异常之前,如果用户指定了错误处理函数即new_handler,则程序会先执行... 阅读全文
posted @ 2015-06-25 20:56 大城市小葫芦 阅读(262) 评论(0) 推荐(0) 编辑