自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 java c++之不同

java中数组初始化:int[] ai= new int[100];自动使用默认值初始化。C++中数组初始化:int *pai=new int[10]   //未初始化或者int *pai = new int[100]();   //默认值初始化后面的空括号()表示将数组内容用默认值初始化,即只能使用空括号表示用默认值初始化。

2011-11-25 10:03:20 258

转载 Python面向函数编程——装饰器的实际应用

转载来源:http://1.python123.sinaapp.com/?p=67  所有版权归原作者所有对某个函数使用了装饰器之后,实际上是改变了函数的代码入口点。也就是变成了装饰器函数所返回的函数的代码入口点了。 机制 装饰器之所以能够工作,是因为Python是一个动态语言。函数是作为第一级对象存在的,就是说函数可以存储到变量中、作为参数传递给其他函数,最重

2011-11-23 00:55:12 1386

原创 python时间转换

>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1317393879.0))                             '2011-09-30 22:44:39'>>> >>> time.mktime(time.strptime('2011-09-30 22:44:39', '%Y-%m-%d %H:%M:%S'

2011-11-19 10:54:54 331

原创 aop异常

Pointcut is not well-formed: expecting ')' at character position 10execute(* com.action.idol.Performer.perform(..))          找了一晚上原因,原来是写错了,应该为execution。。。

2011-11-10 11:23:20 305

原创 排列与组合

#include using namespace std;void perm(int a[], int n, int m, int out[], int k, int used[]){ if(k == m) { for(int i =

2011-10-12 22:24:21 819

原创 软硬链接

ln [-s] 实际文件路径 虚拟文件路径硬链接:不生产新的inode,只是在某个路径下,在文件名与inode对照表里,增加一条记录,让文件名关联到对应的inode不能跨文件系统,因为inode在其他文件系统里可能失效。不能链接文件夹,因为如果要链接文件夹,则

2011-10-09 18:47:40 284

转载 树的某节点的所有父节点

http://blog.csdn.net/yhmhappy2006/article/details/1566865定位一个节点递归实现为:node FindNode(const node root,int val){ node n = root;

2011-09-26 23:59:34 2402

转载 树的非递归遍历

http://blog.csdn.net/kofsky/article/details/2886453// 先序遍历伪代码:非递归版本,用栈实现,版本2void preOrder2(TNode* root){ if ( root != NULL)

2011-09-26 22:43:05 298

转载 不用临时变量交换两个数的值

当要交换两个数的值时,通常的做法是定义一个临时变量,然后再进行交换。那么能不能不用临时变量而交换两个数的值呢?可以的!C语言提供的异或运算就可以实现这样的操作。   异或运算符^也称XOR运算符,它的规则是若参加运算的两个二进位同号,则结果为0(假);异号为1(真)。即0 ^

2011-09-25 23:52:17 253

原创 求素数

#include #include using namespace std;int prim(int a[], int n){ a[0] = 2; int p = 1; for(int i = 3; i < n; i+=2) {

2011-09-25 14:46:02 227

原创 快速排序

//============================================================================// Name : qsort.cpp// Author : a// Version

2011-09-24 18:45:47 194

原创 八皇后

#includeusing namespace std;const int N = 8;int path[N];void find(int k) //find position in line k{ if(k==N) { for

2011-09-22 13:19:17 181

原创 Recipe 5.11. Showing off quicksort in Three Lines

Functional programming languages, of which Haskell is a great example, are splendid animals, but Python can hold its own in such company:def

2011-07-19 00:19:06 296

原创 Recipe 5.10. Selecting the nth Smallest Element of a Sequence

SolutionPerhaps you can do better, if the sequence is big, has been shuffled enough, and comparisons between its items are costly. Sort is v

2011-07-19 00:14:06 216

原创 Recipe 5.2. Sorting a List of Strings Case-Insensitively

def case_insensitive_sort(string_list): auxiliary_list = [(x.lower( ), x) for x in string_list] # decorate auxiliary_list.sort( )

2011-07-18 22:37:52 261

原创 Recipe 4.10. Adding an Entry to a Dictionary

def addword(theIndex, word, pagenumber): theIndex.setdefault(word, [ ]).append(pagenumber)

2011-07-17 23:47:49 275

原创 Recipe 4.8. Transposing Two-Dimensional Arrays

arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]print map(list, zip(*arr))

2011-07-17 23:06:18 207

原创 Recipe 2.16. Walking Directory Trees

import osimport fnmatchdef all_files(path, patterns='*', single_level=False, yield_fold=True):    patterns = patterns.split(";")    for root

2011-07-17 14:18:19 273

原创 Replacing Multiple Patterns in a Single Pass

import osimport redef replace_mlt(text, adict):    reobj = re.compile('|'.join(map(re.escape, adict)))    def repl(maobj):        return adi

2011-07-17 01:19:05 329

原创 设计模式:模板方法模式

在基类的方法A中调用一些由子类去实现的方法,这些方法会由子类去根据需要自己实现,但不影响A的执行,因为A是一个通用的方法。

2011-06-25 23:48:00 203

原创 设计模式:适配器模式

如果要将A接口转换为B接口,就创建一个类C来实现B,把A作为参数传给C。

2011-06-25 23:40:00 186

原创 设计模式:命令模式

将命令做为接口,接口有一个方法execute(), 将命令发送给触发命令着,它只要调用execute()就可以了。

2011-06-25 23:16:00 152

原创 设计模式:单件模式

将构造函数设置为private,提供一个static方法来返回唯一的instance. 要注意多个对象及线程对用一个对象的读写。

2011-06-25 23:01:00 166

原创 设计模式:命令模式

分离出命令对象和执行命令的对象。不同的命令对象有不同的命令要执行,将这些命令封装在一个接口Command中,并且只提供一个execute()方法,在execute()中各个对象去做不同的事情。将命令对象发送给执行命令对象,执行者不需要知道具体是什么命令,只需要调用execute()就可以执行命令了。

2011-06-25 11:11:00 149

原创 设计模式:抽象工厂模式

生产不同的pizza需要不同的原料,但是有共同的烘烤方法。将pizza原料定义为一个接口,用不同的原料工厂来实现这个接口。在创建不同pizza时,把对应的原料工厂作为参数给createPizza(), 函数里会调用原料工厂的方法得到不同的原料,再进行烘烤。

2011-06-23 19:41:00 183

原创 设计模式:装饰者模式

将组件和装饰者分离,但他们都继承自同一个接口,有同样的方法,比如cost()。在装饰者类中,含有一个组件实例,装饰者可以在自己的cost()中,通过实例获取组件的cose()返回数据,再加上自己的处理,返回新的数据。

2011-06-22 01:19:00 201

原创 设计模式:装饰者模式

将组件和装饰者分离,但他们都继承自同一个接口,有同样的方法,比如cost()。在装饰者类中,含有一个组件实例,装饰者可以在自己的cost()中,通过实例获取组件的cose()返回数据,再加上自己的处理,返回新的数据。

2011-06-22 01:19:00 168

原创 设计模式:观察者模式

有被观察者和观察者,被观察者提供注册函数,由观察者调用此函数将自己添加到被观察者的通知名单里,每当有事情需要通知,被观察者就遍历名单,调用被观察者统一的行为方法,可以通过此方法将数据发送给被观察者。或者把自身对象传送给此方法,有观察者自己调用被观察者提供的get函数获取数据,执行行为。

2011-06-22 01:13:00 188

原创 设计模式:策略模式 strategy pattern

把用户和用户的行为分开,定义用户接口和行为接口,用户类里包含了行为接口的属性,在用户类里通过setBehavior()动态的设置行为,行为接口有统一的调用方法,用户只要调用这个方法即可,不需知道方法的具体实现。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,使用者可以以相同的方式调用算法。

2011-06-22 01:07:00 226

转载 排序算法总结

<br />序号 排序类别       时间复杂度 空间复杂度 稳定性<br />1   直接插入排序       O(n^2)        1       √ <br />2   希尔排序           O(n^2)        1       × <br />3   冒泡排序           O(n^2)        1       √ <br />4   选择排序           O(n^2)        1       × <br />5   快速排序   

2010-08-09 17:27:00 203

转载 逆转单链表

<br /><!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;}

2010-08-04 11:28:00 291

转载 字符串的排列

<br /><!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;}

2010-08-03 13:11:00 305

原创 归并排序

<br /><br />void merge(int a[], int b[], int left, int mid, int right)<br />{<br />    for(int k = left; k <= right; k++)<br />        b[k] = a[k];<br />    int s1=left, s2=mid+1, t=left;<br />    while(s1 <= mid && s2 <= right)<br />    {<br

2010-06-04 08:55:00 206

原创 快速排序

<br /><br />int partition(int a[], int low, int high)<br />{<br />    int pivot = a[low];<br />    int i = low;<br />    int j = high;<br />    while(i != j)<br />    {<br />        while(i < j && (a[j] >= pivot)) j--;<br />        if(i <

2010-06-04 08:34:00 245

转载 排列组合与回溯算法浅谈

[原创] KuiBing 2003-11-14 这篇论文主要针对排列组合对回溯算法展开讨论,在每一个讨论之后,还有相关的推荐题。在开始之前,我们先应该看一下回溯算法的概念,所谓回溯:就是搜索一棵状态树的过程,这个过程类似于图的深度优先搜索(DFS),在搜索的每一步(这里的每一步对应搜索树的第i层)中产生一个正确的解,然后在以后的每一步搜索过程中,都检查其前一步的记录,并且它

2010-05-29 11:20:00 264

转载 Sed命令详解

1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下

2010-05-26 00:51:00 274

转载 Perl命令行应用介绍

  Perl 有很多命令行参数。通过它可以让你的程序更简练,并且可以写出很多只有一行命令的perl。在这篇文章里我们来了解一些常用的命令行参数。 安全网参数有三个参数我认为可以起到“安全网”的作用,因为它们可以让你避免犯错,特别是当你在使用 Perl 尝试一些特别聪明(或这愚蠢)的想法时, 错误

2010-05-22 15:22:00 189

转载 Perl默认的内部变量

Perl默认的内部变量$- 当前页可打印的行数,属于Perl格式系统的一部分$! 根据上下文内容返回错误号或者错误串$” 列表分隔符$# 打印数字时默认的数字输出格式$$ Perl解释器的进程ID$% 当前输出通道的当前页号$& 与上个格式匹配的字符串$( 当前进程的组ID$) 当前进程的有效组ID$* 设置1

2010-05-22 10:02:00 498

转载 Perl默认的内部变量

Perl默认的内部变量$- 当前页可打印的行数,属于Perl格式系统的一部分$! 根据上下文内容返回错误号或者错误串$” 列表分隔符$# 打印数字时默认的数字输出格式$$ Perl解释器的进程ID$% 当前输出通道的当前页号$& 与上个格式匹配的字符串$( 当前进程的组ID$) 当前进程的有效组ID$* 设置1表示处理多行格式.现在多以/s和/m修饰符取

2010-05-22 09:43:00 191

原创 classes in java

Normal 0 7.8 磅 0 2 <!-- /* Font Definitions */@font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso

2010-05-13 02:20:00 283

程序员面试宝典.pdf

程序员面试宝典.pdf 程序员面试宝典.pdf 程序员面试宝典.pdf

2010-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除