代码改变世界

C++设计模式-Adapter

2012-04-01 19:49 by htc开发, 219 阅读, 0 推荐, 收藏, 编辑
摘要:定义适配器将一个类的接口转换成客户希望的另外一个接口,该模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。结构类适配器包含两种结构: 1.使用多重继承对一个接口与另一个接口进行匹配:如下图所示。 2.依赖于对象组合,如下图所示。理解 在这么几种情况下可以使用类适配器模式: 1.你想使用一个已经存在的类,而它的接口不符合你的需求。 2.你想创建一个可以服用的类,该类可以与其他不相关的类(那些接口可能不一定兼容的类)或不可预见的类协同工作。 3.你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。(仅使用于对象适配器)应用 1.E 阅读全文

关于算法学习的总结和感悟(原创)

2012-03-26 22:43 by htc开发, 397 阅读, 0 推荐, 收藏, 编辑
摘要:时隔一年重读《算法导论》,去年读到了二叉查找树就搁浅了,今年从头捡起,希望能走的更远一些。算上大学时的数据结构与算法课,今年可以算是第三波学习攻势了。随着学习的深入,对算法的学习渐渐有了些自己的看法和感悟。一.为什么学习算法?记得初学算法时不明白为什么费力分析程序的执行步骤后,还要用公式表达出来并求极值。一遍遍的学习渐渐有了领悟:算法研究是用来做大事的!之所以分析效率还求极限,是因为各种算法和数据结构都要研究其在海量输入数据或最坏最不利的情况下的效率表现。如果只是我们每天乏味工作中那三两个数的排序,几十个数值对的哈希,那其实怎样实现都无所谓了。所以个人觉得,学习算法能提高分析代码、洞察效率的能 阅读全文

android发送含有附件的邮件

2012-03-26 22:23 by htc开发, 157 阅读, 0 推荐, 收藏, 编辑
摘要:如何在Android系统中发送带附件的电子邮件呢? 其实通过Intent可以很方便的发送Email,只需要短短10行代码就可以处理,这里Android开发网就以在sdcard上的android123.cwj文件为例,通过Intent来发送电子邮件。完整代码如下File file =new File("\sdcard\android123.cwj"); //附件文件地址Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra("subject", file.getName()); //in 阅读全文

C++构造函数语义——默认构造函数

2012-03-26 15:19 by htc开发, 181 阅读, 0 推荐, 收藏, 编辑
摘要:0、前言 《The C++ ARM》告诉我们:“默认构造函数会在需要的时候自动生成(被编译器)。”然后“在需要的时候”是一个很抽象的概念,本文主要描述的问题也正是这些需要的情况。 我们看看下面的代码片段:class Foo { public: int val; Foo *pnext; }; void foo_bar() { Foo bar; if (bar.val || bar.pnext) { cout << bar.val << endl; cout << bar.pnext << endl; } }用... 阅读全文

vim 高亮和自动缩进设置

2012-03-26 13:48 by htc开发, 210 阅读, 0 推荐, 收藏, 编辑
摘要:1、配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。2、设置语法高亮显示1) 打开vimrc,添加以下语句来使得语法高亮显示:syntax on2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:export TERM=xterm-color 3、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)1)设置(软)制表符宽度为4 阅读全文

javascript 俄罗斯方块 游戏

2012-03-25 21:42 by htc开发, 290 阅读, 0 推荐, 收藏, 编辑
摘要:0、前言 最近在玩js,感知js确是一个强大的脚本语言,加之html5这样一个准标准的推出,相信js在未来的web app中发挥的作用会越来越大。过去几年时间都在做后台方面的一些开发,很少会触及到web方面的开发,作为一名软件工程师,多补充一点新的知识,为自己充充电还是很有必要,且有趣的。一、游戏设计思想 是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。 在网页中设计这样一款游戏: 1.在界面 阅读全文

《算法导论》第12章 二叉查找树 (3)基数树

2012-03-25 13:38 by htc开发, 238 阅读, 0 推荐, 收藏, 编辑
摘要:基数树与二叉查找树和Trie树很相似。它像BST一样是二叉的,向左表示0而不是BST的小于,而向右则表示1而不是大于。它像Trie一样共享相同的结点来保存字符串中相同的前缀,从而节省了空间,但它不像Trie那样每个结点有很多孩子(可以是26个,表示a到z),它用来处理只包含0和1的字符串。基数树和Trie都用来保存和排列字符串,那么现在来看看字典序,关于字典序有两条规则:1. 字符串长度相同时,从左向右逐个字符比较。如011 < 100。2. 字符串长度不同时,长度长的在字典序中值更大。如100 < 1011。因此,根结点 < 左子树结点 < 右子树结点。#includ 阅读全文

《算法导论》第12章 二叉查找树 (2)查找、插入与删除

2012-03-25 11:48 by htc开发, 194 阅读, 0 推荐, 收藏, 编辑
摘要:1. 查找利用二叉查找树左小右大的性质,可以很容易实现查找任意值和最大/小值。BSTNode * bst_search(BSTNode *node, int key) { while (node && key != node->key) { if (key < node->key) node = node->left; else node = node->right; } return node; } BSTNode * bst_minimum(BSTNode *... 阅读全文

《算法导论》第12章 二叉查找树 (1)遍历

2012-03-24 22:49 by htc开发, 126 阅读, 0 推荐, 收藏, 编辑
摘要:二叉查找树的效率在二叉查找树中执行的基本操作的时间与树的高度成正比。最坏情况,树的高度是N,像链表一样,而较好情况高度是lgN。因此,树的高度是关键。下一章将要学习的红黑树是对二叉查找树的改进,通过保持树的高度从而保证红黑树上的操作有很好的效率。各种遍历算法中序遍历算法:子树根的关键字在输出时介于左子树和右子树的关键字之间。即按排列顺序输出树中的所有关键字。相应的,前序遍历就是子树根的关键字在左右子树之前输出。在后面的基数树中,前序遍历(而非中序遍历)是二进制串的排序输出。用递归方式可以很轻松地实现二叉树的遍历。// 包含卫星数据的二叉树结点定义 struct _BSTNode { ... 阅读全文

Iphone将window的跟视图替换成自定义的TabBar视图

2012-03-17 21:44 by htc开发, 243 阅读, 0 推荐, 收藏, 编辑
摘要:今天感觉很累了,就只将代码添出来,然后简单的做下说明:我们在项目中应该会遇到UINavigationController和UITabBarController不能同时存在于window视图,但是往往项目是这样的,先需要UINavigationController视图作为根视图(比如说登录界面,登录界面是不需要下面的tabbar的),然后登录进去后就需要一个UITabBarController视图,所以让人比较的纠结,下面将解决这个问题,先建一个基于Navigation的项目,项目会自动将UINavigationController加入window根视图中,然后在rootviewcontroll 阅读全文
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 53 下一页