原题地址:http://oj.leetcode.com/problems/binary-tree-level-order-traversal/题意:二叉树的层序遍历的实现。解题思路:二叉树的层序遍历可以用bfs或者dfs来实现。这里使用的dfs实现,代码比较简洁。实际上,二叉树的先序遍历就是dfs实...
分类:
编程语言 时间:
2014-05-14 03:25:59
阅读次数:
428
读前小提示:对于深浅复制有一个清楚的了解,对于学习oc的朋友来说,至关重要。那么首先,我们要明白深浅复制是如何定义的呢。这里为了便于朋友们理解,定义如下。
浅 复制:在复制操作时,对于被复制的对象的每一层复制都是指针复制。深 复制:在复制操作时,对于被复制的对象至少有一层复制是对象复制。完全复制:在...
分类:
其他好文 时间:
2014-05-12 21:23:29
阅读次数:
415
构造方法:用来初始化对象的;首先分解一下创建对象的过程:Person *p = [Person
new]; // new方法是alloc 和 init 这两个方法的组合;完整的创建可用对象的过程: 1:分配存储空间; 就是调用的 +alloc
方法,这个方法是类方法,返回的是一个分配好存储空间的 ....
分类:
其他好文 时间:
2014-05-12 04:47:22
阅读次数:
237
1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到;当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下//
声明@interface 类名 (分类名称)@end// 实现@implementation ...
分类:
其他好文 时间:
2014-05-12 03:18:19
阅读次数:
272
1:类的本质:类也是一种类,可以叫做类类,类对象,类类型;
2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法;
而成员变量和isa指针,存放在了类的对象中;isa指针指向了类对象;如图: 3...
分类:
其他好文 时间:
2014-05-12 02:52:39
阅读次数:
263
oc没有java的垃圾回收机制,所以对象的内存释放很重要,基本数据类型,我们不用理会,编译器会处理;oc的每个对象内部都由一个计数器,用来记录当前有几个指针在指向该对象;当计数器为0时该对象会从内存中释放;相关方法和概念:1:retain:对象方法,调用该对象方法,计数器+1,有返回值,返回对象本身...
分类:
其他好文 时间:
2014-05-11 23:17:09
阅读次数:
299
这里用邻接表实现图的深度优先遍历,采用递归实现。
#include
using namespace std;
#define VERTEXNUM 5//结点数
struct edgenode
{
int to;
int weight; // 边的权值
edgenode *next;
};
struct vnode
{
int from...
分类:
其他好文 时间:
2014-05-11 20:46:16
阅读次数:
519
涉及到内存管理,只读,多线程等很多功能时,setter和getter方法也就没那么简单了;当然@property依然强大,很好用; 1:内存管理相关参数:
*:retain: (如果是oc对象类型),生成的setter会自动release旧值,retain新值; *:assign:...
分类:
其他好文 时间:
2014-05-11 17:59:45
阅读次数:
306
数据类型int类型 printf()输出八进制整数时,用%o代替%d,输出十六进制时,用%x。
%#o、%#x和%#X分别生成0、0x、0X前缀。1 #include 2 int main(void)3 {4 int x = 100;5
printf("dec = %d; oc...
分类:
其他好文 时间:
2014-05-11 17:50:15
阅读次数:
379
设计实现一种通用的迭代器,该迭代器用于在某个多维整型数组中,按实际存储顺序逐个遍历指定切片范围内的元素,以便进行任意操作。
1)需要为该迭代器实现四个接口:初始化,获取当前元素在数组中的地址,跳到下一个,遍历是否结束。
2)基于该迭代器,创建一个切片数组的拷贝,只包含指定切片内的元素,保持原有存储顺序不变。...
分类:
其他好文 时间:
2014-05-11 02:08:20
阅读次数:
316