- 博客(68)
- 资源 (1)
- 收藏
- 关注
原创 C++泛型编程
在c++中,模板是泛型编程的基础。模板是创建类或函数的蓝图或公式。编译器自动为我们用实际的类型替代模板中类型参数,编译生成代码.编写模板代码时,对实参类型的要求尽可能少是很有益的。 函数模板: template int compare(co
2011-09-12 00:10:03
573
原创 which whereis locate
1.which命令可以找出相关命令是否已经在搜索路径中。如:$which gcc/usr/bin/gcc表示gcc命令在/usr/bin目录下。2.whereis,该命令搜索的范围比which的更大,和shell的搜索路径无关。3.locate
2011-09-04 17:25:48
429
原创 Java 访问控制符 修饰符 详解
1.接口 接口是描述一个对外公布的方法签名,所有的对象都能访问到,因此它的属性和方法不能违背接口的这个本质概念。所以接口的属性强制为public static final修饰的,为常量;接口方法强制为public abstract。任何手动设置这几个修饰符,必
2011-08-05 22:26:24
1878
1
原创 linux windows下 开发感受
linux 和 windows环境下开发各有优点。以下Linux 下使用感受是在ubuntu11.04,别的发行版还没试过。 至于各自的缺点,都可以通过各种方法,得到或多或少地解决。至于要花费多大的精力和解决的程度如何,划不划算,则是我们也要考虑的问题。
2011-07-31 00:47:01
768
原创 不折腾
Fedora 15系统,用U盘装,试了网上各种办法。最终还是没有成功自己电脑上本来以经有了win7,ubuntu11.04.出于各种原因,想把ubuntu11.04换成Fedora15其实要本没有必要。这两个系统都已经能满足我的要求。反而为了装这个系统浪费了很多时间。以后,只要够
2011-07-29 11:45:30
505
原创 我的Ubuntu11.04 WPA加密无线上网解决方案
修改/etc/network/interfaces:iface wlan1 inet dhcpwpa-driver wextwpa-ssid TP-LINK_043Awpa-psk bda9a9d988e666a78889089a098c8689a其中
2011-07-23 02:42:32
1751
原创 开机,关机,重启,切换用户,开机环境设定,多重启动grub,帮助命令的使用
开机,关机,重启,切换用户,开机环境设定,多重启动grub,帮助命令的使用linux 开机命令行启动修改/etc/inittab把id:5:initdefault:改为id:3:initdefault:linux 运行级别0.停机1.单用户模式2.多用户模式,但是没有NFS,即不
2011-07-22 23:44:33
1148
原创 Linux 搜索基本命令
1.whereis功能说明:查找文件。语 法:whereis [-bfmsu][-B ...][-M ...][-S ...][文件...]补充说明:whereis指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。参 数: -b
2011-07-22 17:56:34
390
原创 Linux Java 开发环境安装
1.下好linux下的jdk安装文件假设文件名为jdk.bin。我选的是自解压的版本2.将jdk.bin的文件权限设为可执行。3.解压jdk.bin到你想安装的目录。我放在/usr/local文件夹下。4.设置java环境变量。设置环境变量的目的是为了让操作系统知道去
2011-07-22 17:26:48
363
原创 Linux 全方位学习过程
1.开机、关机、重启、切换用户、开机环境设定。多重启动grub。帮助命令的使用2.文件系统。文件组织结构、文件权限。文件系统的装载和卸载3.用户管理。用户组管理、用户管理。添加用户、删除用户、修改密码、查看系统日志。4.网络。有线网设置、无线网设置、路由设置、防火墙设置。网络命令
2011-07-22 16:46:18
321
原创 面向对象设计原则
1.单一职责原则2.开闭原则 对扩展开放,对修改关闭。 实现开闭原则的关键是抽象化,并且从抽象化导出具体实现。 开闭原则是面向对象设计的主要目标。3.里氏代换原则 在使用基类和抽象类的地方,都可以用其子类或实现了该接口的类替换。 里氏代换原则是继承复
2011-07-12 23:28:09
841
原创 快速排序 普通和随机版本
#include #include template void quick_sort(Type a[], int left, int right) { if (left < right) { int p = partion(a, left, right); quick_sort(a, left, p - 1); quick
2011-06-11 20:29:00
563
原创 合并排序,递归与非递归版本 ,自然全并排序
#include #include #include void merge_sort(int* a, int* tmp, int left, int right);void merge(int* a, int* b, int left, int middle, int right);void copy(int *a, int *tmp, int left, int right)
2011-06-11 20:27:00
484
原创 全排列
#include void perm(char* list, int k, int m);void swap(char *a, char *b);int main(int argc, char** argv) { int i; char* list = argv[1]; while (scanf("%d", &i) != EOF) { p
2011-06-11 20:27:00
391
原创 斐波那契数列 Hanoi 塔 分治法思想的体现
#include int fibonacci(int n);int main(int argc, char** argv) { int count; while (scanf("%d", &count) != EOF) { printf("%d", fibonacci(count)); }}int fibonacci(int n) {
2011-06-11 20:24:00
871
原创 二分查找
#include int binarysearch(int a[], const int i, int n);int main(int argc, char** argv) { int a[20] = {1,2,3,4,5,6,7,8,9,10}; printf("%d", binarysearch(a, 5, 10));}int binarysearch(in
2011-06-11 20:13:00
376
原创 我的win7 ubuntu11.04双系统安装过程
我用的unltriso把ubuntu11.04镜像写进u盘。但总是卡住不能进入系统。后来在网上找到了安装方法,由于当时没有记下来。后来想找那个方法,又找了很久才找到。特将那个方法记在下面:修改syslinux/syslinux.cfg文件。将default vesamenu.c32注释掉,即变为#default vesamenu.c32具体原因好像是加为vesamenu.32有问题。详细深层次的问题还有知道。看以后能不能找到,也不知道把这行注释掉会有什么影响。反正现在我用这个方法装的系统还挺好的,暂时没有发
2011-05-29 17:35:00
851
原创 ubuntu 11.04小企鹅输入法安装
<br /><br /><br /> <br /><br /> <br /><br />1.先确认是否删除scim*输入法,fcitx是否安装成功。<br />2.如果1已成功,不知道你系统语言是英文还是中文,语言如果是英文设置在英文locate下启动fcitx输入法,在/etc/X11/xinit/xinput.d/下新建一个文件en_US<br />文件内容<br />XMODIFIERS="@im=fcitx"<br />XIM=fcitx<br />XIM_PROGRAM=/usr/bin/fcit
2011-05-29 12:52:00
1093
原创 23 种设计模式 记忆技巧
记忆口决:抽工建原单代桥组装享适门观模策状备迭访中命解职第一行为创建型模式。第二行为结构型模式。第三行为行为模式。 想象如下的场景:大家都在抽出工夫来建造原单。原单的内容是代桥来组装享适门。大家都在观模策状备。一个领导在迭访中发现了这件事,就命解职。
2011-05-26 18:32:00
1475
原创 SQL语句大杂烩
<br />1.选择并排序<br /><br />SELECT <br />`spell_series`.id,`spell_series`.`name`,<br />`spell`.`id`, spell.`name`,spell.`level`,spell.`spellSeriesId` <br />FROM `spell`, `spell_series`<br />WHERE spell.`spellSeriesId` = `spell_series`.`id`<br />ORDER BY `spe
2011-05-13 12:49:00
492
原创 Activity 详解
<br /><br />Activity主要提供一个界面窗口来给用户提供特定的功能,例如打电话,照相,发送短信,看地图。每一个Activity被提供一个窗口来画整个用户界面。一般,这个窗口填充整个屏幕,但也可能比屏幕小并且悬浮在其它窗口上。<br /> 一个应用程序通常包括多个松耦合的Activity。通常,有一个Activity被标示为一个主Activity,当程序第一次加载时,显示给用户。每一个Activity可以启动其它的Activity来实现其它功能。每当一个Activity启动,前一个Act
2011-05-01 01:11:00
14238
原创 计算机基本编码速查
28256216655366万232429496729643亿2进制16进制10进制0001110010220011330100440101550110660111771000881001991010A101011B111100C121101D131110E141111F15
2011-04-29 10:34:00
541
原创 Android 怎样画视图
<br /><br />当Activity得到焦点后,就被要求画出它的布局。Android框架<br />负责绘画的整个过程,但Activity必须提供布局的根结点。<br />绘画从根结点开始,它必须测量和画出布局树。 Drawing is handled by walking the tree and rendering each View that intersects the invalid region。<br />反过来,每一个ViewGroup负责请求每个子View去出它自己(用draw())
2011-04-29 00:07:00
605
原创 Android 自定义控件的 拖拽、移动 实现 方法
整个屏幕是一个继承自View或SurfaceView的类。它通过onDraw方法来画上面的所有的要显示的对象。一般在这个方法中,会有一些标示显示对象的位置、大小、图形、图片等一切和显示有关的属性,在onDraw方法中根据这些属性重绘所有对象。因此,必须有这样一种机制:在每一个和显示有关的属性更改后,必须马上被调用onDraw,重新绘制所有对象,将更改实时显示给用户。这种机制有两种实现方法:1.采用UI线程,以一定周期使onDraw方法得到调用。2.采用消息机制,当和显示有关的属性改变时,使onDra
2011-04-17 14:18:00
5195
2
原创 ZOJ 1008 Gnome Tetravex
#include using namespace std;int v[25][4];int n;int s[25][4];int snum[25];int c=0;int p[5][5][4] = {0};int solve(int num) //从左到右,从上到下的放入箱子,num标示放入目标位置的第几个箱子{ if(num == n*n) return 1; //这里剪枝了。剪去了相同箱子的重复处理 for(int i
2011-04-15 12:55:00
643
原创 CPU 调度
<br /><br />CPU调度决策可在如下四种环境下发生:<br />1. 当一个进程从运行状态切换到等待状态(例如,I/O请求或调用wait以等待一个子进程的终止)。<br />2. 当一个进程从运行状态切换到就绪状态(例如,当出现中断时)。<br />3. 当一个进程从等待状态切换到就绪状态(例如,I/O完成)。<br />4. 当一个进程终止时。<br />当调度只能发生在第一和第四种情况时,称调度方案是 非抢占的;否则,调度方案是可抢占的。采用非抢占调度,一旦CPU被分配给一进程,那么该进程会一
2011-04-09 18:36:00
816
原创 Linux 防火墙
<br /><br />1.开启开关闭<br /> a.重启后生效<br /> 开启:chkconfig iptables on<br /> 关闭:chkconfig iptables off<br /> b.即时生效,重启后失效<br /> 开启:service iptables start<br /> 关闭: service iptables stop<br />防火墙配置文件<br /> /etc/sysconfig/iptables<br />
2011-04-09 18:35:00
298
原创 我的 _vimrc 文件
set nocompatiblesource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswinset diffexpr=MyDiff()function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt .
2011-04-05 20:06:00
702
原创 神器 vi 打造全过程
每天一点点把神器vi打造出来。1. 自动缩进全部代码: gg=G;2.eclipse 中使用vim编辑器。安装插件 Vrapper。 3.vim中taglist中文路径问题解决办法:把taglist.vim里的let ctags_cmd = "" .s:t
2011-04-01 23:10:00
711
原创 如何快速学习一门新的语言
1.了解语言本身的基本信息。主要从大的方面。一定要做到透彻理解。这是最主要的。 必须熟悉的内容: a.整体架构 b.执行流程 c.代码结构2.语言的基本语法。一定要做到全面,深入,越全面,深入,后面的学习就越容易。这是学习一门语言的基本。到了这一步。你就可以看懂别人的代码,向别人学习。必须熟悉的内容:参考已熟悉的语言。3.熟悉和语言相关的API以及相关的开源框架和项目。到了这一步,你就可以自己快速地编写程序,快速地读懂别人的代码。这一步一般花费的时间最长。高手和菜鸟也一般在这个阶段可
2011-03-31 10:43:00
365
原创 ActionScript中透明图片作不规则遮罩
当遮罩是不规则图形时,即无法用Graphics类画出来,则可以利用PNG透明图片中的非透明部分,来作为不规则遮罩。处理步骤如下:被遮罩对象:maskedDisplayObject;遮罩本身: maskDisplayObject;1.maskedDisplayObject.cacheAsBitmap = true;2.maskDisplayObject.filters = [new BlurFilter(0, 0, 0)];
2011-03-28 16:21:00
763
原创 精通正则表达式
http://baike.baidu.com/view/94238.htmhttp://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
2011-03-11 00:45:00
314
原创 bash 内部命令
<br /><br />bash命令解释套装程序包含了一些内部命令。内部命令在目录列表时是看不见的,它们由Shell本身提供。常用的内部命令有:echo, eval, exec, export, readonly, read, shift, wait和点(.)。下面简单介绍其命令格式和功能。<br /> 1.echo<br /> 命令格式:echo arg<br /> 功能:在屏幕上显示出由arg指定的字串。<br /> 2.eval<br /> 命令格式:eval args<br /> 功能:
2011-03-11 00:28:00
291
原创 mount 安装文件系统,将外来文件系统添加到linux文件系统中 unmount,正好相反
参考:http://www.linux-cn.com/html/test/20070412/754.shtml
2011-03-11 00:05:00
461
原创 $ 变量替换操作符
$ 变量替换操作符只有在变量被声明,赋值,unset 或exported 或者是在变量代表一个signal 的时候,变量才会是以本来的面目出现在脚本里.变量在被赋值的时候,可能需要使用"=",read状态或者是在循环的头部.在""中还是会发生变量替换,这被叫做部分引用,或叫弱引用.而在''中就不会发生变量替换,这叫做全引用,也叫强引用.注意:$var 与${var}的区别,不加{},在某些上下文将引起错误,为了安全,使用2.强烈注意,在赋值的前后一定不要有空格.= 赋值操作符
2011-03-09 21:52:00
671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人