出题:定义一个复杂链表:在单向链表的基础上,每个节点附加一个指向链表中其他任意节点的指针sibling,实现CNode* Clone(Cnode
*head)函数复制这个复杂链表;分析:解法1:将head复制到CHead中,第一次遍历创建CHead中对应head的各个节点(next),第二次遍历创建...
分类:
其他好文 时间:
2014-05-26 10:57:19
阅读次数:
333
出题:判断一个单向链表是否有环,如果有环则找到环入口节点;分析:第一个问题:使用快慢指针(fast指针一次走两步,slow指针一次走一步,并判断是否到达NULL,如果fast==slow成立,则说明链表有环);第二个问题:fast与slow相遇时,slow一定还没有走完一圈(反证法可证明);示意图A...
分类:
其他好文 时间:
2014-05-26 10:22:27
阅读次数:
279
备忘:1.C函数参数为字符串char*。如果是入参,对应C#中string或StringBuilder;如果是出参对应C#中StringBuider;2.C函数参数为结构体指针,需在C#中对应定义结构体。如果是入参,C#中可为myfunction(MyStruct
mystruct)或myfunct...
分类:
其他好文 时间:
2014-05-26 10:06:56
阅读次数:
158
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。分析:首先不能创建新的结构,只能在树的前提下进行改变指针的指向。又由于是二叉搜索树,可以通过画图分析可知,二叉搜索树的左子树小于根节点小于右子树,可以发现是个递归过程也是一个中序遍...
分类:
其他好文 时间:
2014-05-26 08:01:04
阅读次数:
169
研究了一段时间回调函数,越看越迷惑,分析并改进了从网上看到的几篇好文,看过后有了自己的看法。我也不知道这些跌跌撞撞的认识是否符合回调的真实原理,若有大侠能帮解惑,自当感激不尽。下面的代码可以在Vs2008下编译并运行:个人观点:虽说代码里面到处都注解说这里是回调函数声明,那里是回调函数实现;这里是被...
分类:
其他好文 时间:
2014-05-26 07:15:01
阅读次数:
168
和指针相关的两个特殊运算符:一、"&"
取地址运算符,通过&运算符可以取出普通变量的地址;二、"*" 有两种意义: 1. 为指针标志: 是否为指针标志主要看前面是否有类型,此处有一个int
2. 为指针运算符: 在等号右面为取值。*可以取出指针变量所指向的普通变量的值。 在等号左面为赋值。...
分类:
其他好文 时间:
2014-05-24 14:03:07
阅读次数:
228
阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减...
分类:
移动开发 时间:
2014-05-24 12:56:08
阅读次数:
313
本文用指针形式实现了先进先出的队列,与栈队列类似,需要设计一个队列节点类,一个队列类,同时队列类为节点类的友元函数;不过与链栈不同的是,链栈仅用单一指针来实现入栈和出栈而链队列需要有front和rear两个指针(皆为队列节点类指针),front指针负责处理出列,rear处理入列#includeusi...
分类:
其他好文 时间:
2014-05-24 11:52:18
阅读次数:
266
1.
@property的参数说明ARC是苹果为了简化程序员对内存的管理,推出的一套内存管理机制使用ARC机制,对象的申请和释放工作会在运行时,由编译器自动在代码中添加retain和release1>
strong:强指针引用的对象,在生命周期内不会被系统释放 在OC中,对象默认都是强指针2>...
分类:
移动开发 时间:
2014-05-24 10:06:26
阅读次数:
392
AC自动机简介:KMP是用于解决单模式串匹配问题,
AC自动机用于解决多模式串匹配问题。精华:设这个节点上的字母为C,沿着他父亲的失败指针走,直到走到一个节点,他的儿子中也有字母为C的节点。然后把当前节点的失败指针指向那个字目也为C的儿子。如果一直走到了root都没找到,那就把失败指针指向root。...
分类:
其他好文 时间:
2014-05-24 09:36:42
阅读次数:
318