Skip to content

Instantly share code, notes, and snippets.

@sanpingz
sanpingz / quadknap.cpp
Created April 22, 2012 05:40
二次背包问题
/*
* 二次背包问题
*
* Created on: 2012-4-19
* Author: Calvin
*/
#include <iostream>
#include <vector>
#include <windows.h>
using namespace std;
#解决安装Pygments后出现Liquid error: bad file descriptor的问题
diff --git a/lib/albino.rb b/lib/albino.rb
index 387c8e9..b77d55e 100644
--- a/lib/albino.rb
+++ b/lib/albino.rb
@@ -1,4 +1,5 @@
require 'posix-spawn'
+require 'rbconfig'
##
@sanpingz
sanpingz / Singleton.java
Created May 25, 2012 04:00
单例模式
import static com.mceiba.util.Print.*;
class Sun{
//Singleton
private Sun(){}
private static Sun sun=new Sun();
public static Sun makeSun(){
return sun;
}
}
@sanpingz
sanpingz / State.java
Created May 25, 2012 04:01
状态模式
import static com.mceiba.util.Print.*;
class Actor{
public void act() {}
}
class HappyActor extends Actor{
public void act() { println("HappyActor"); }
}
class SadActor extends Actor{
public void act() { println("SadActor"); }
@sanpingz
sanpingz / Strategy.java
Created May 25, 2012 04:02
策略模式
import static com.mceiba.util.Print.*;
import java.util.*;
interface Processor{
String name();
Object process(Object input);
}
class StringProcessor implements Processor{
public String name(){
return getClass().getSimpleName();
@sanpingz
sanpingz / Adapter.java
Created May 25, 2012 04:02
适配器模式
import static com.mceiba.util.Print.*;
import java.util.*;
class Filter{
public String name(){
return getClass().getSimpleName();
}
public Wavaform process(Wavaform input) { return input; }
}
class FilterAdapter implements Processor{
@sanpingz
sanpingz / RefCounting.java
Created May 25, 2012 04:02
引用计数器
import static com.mceiba.util.Print.*;
class Shared{
private int refcount = 0;
private static long counter = 0;
private final long id = counter++;
public void shared(){
println("Creating "+this);
}
public void addRef() { refcount++; }
@sanpingz
sanpingz / Factories.java
Created May 25, 2012 06:39
工厂方法模式
import static com.mceiba.util.Print.*;
import java.util.*;
interface Service{
void method1();
void method2();
}
interface ServiceFactory{
Service getService();
}
@sanpingz
sanpingz / Iterator.java
Created May 27, 2012 07:36
迭代器模式
import static com.mceiba.util.Print.*;
interface Selector{
boolean end();
Object current();
void next();
}
public class Iterator{
private Object[] items;
private int next = 0;
public Iterator(int size) { items = new Object[size]; }
@sanpingz
sanpingz / ControlFramework.java
Created May 28, 2012 03:45
应用程序框架
//Template and Command
import static com.mceiba.util.Print.*;
import java.util.*;
abstract class Event{
private long eventTime;
protected final long delayTime;
public Event(long delayTime){
this.delayTime = delayTime;
start();
}