Skip to content

Instantly share code, notes, and snippets.

View JulesWang's full-sized avatar

juleswang JulesWang

View GitHub Profile
@JulesWang
JulesWang / ruby-warrior`s-shoes.rb
Created December 30, 2010 03:44
A ruby-warrior GUI based on Shoes, under development
#run: shoes this-file.rb
require 'stringio'
require "./ruby_warrior/lib/ruby_warrior.rb"
$wait_input = false
# Name Show
$game_name = "Ruby Warrior!"
# Absolut coordinate of the Map
@JulesWang
JulesWang / acm_bot.rb
Created March 5, 2011 08:08
A acm bot do some boring work
# Ruby 1.9.2
# Home: https://gist.github.com/856219
# My CPP template: template_cpp.rb
# OJ Support:
# Online Judge of Zhejiang University
# Author: [email protected]
require 'uri'
require 'net/http'
#require 'hpricot'
function pretty_date($time) {
$diff = time() - $time;
$day_diff = floor($diff / 86400);
if(is_nan($day_diff)) return '';
if ($day_diff == 0) {
if ($diff < 60) {
return $diff . "second ago";
} else if ($diff < 120) {
// ELF Hash Function
unsigned int ELFHash(char *str)
{
unsigned int hash = 0;
unsigned int x = 0;
while (*str)
{
hash = (hash << 4) + (*str++);//hash左移4位,当前字符ASCII存入hash低四位。
@JulesWang
JulesWang / qsort.c
Created May 6, 2011 06:18
quick sort 快速排序
#include <stdio.h>
void qsort(int *array, int left, int right);
int main()
{
int array[] = {8,2,6,12,1,9,5};
int i = 0;
qsort(array, 0, 6);
@JulesWang
JulesWang / insertion-sort.c
Created May 16, 2011 08:27
Insertion-sort
/*
INSERTION-SORT(A)
1 for j ← 2 to length[A]
2 do key ← A[j]
3 <> Insert A[j] into the sorted sequence A[1...j - 1].
4 i ← j - 1
5 while i > 0 and A[i] > key
6 do A[i + 1] ← A[i]
7 i ← i - 1
8 A[i + 1] ← key
@JulesWang
JulesWang / selection-sort.c
Created May 16, 2011 09:08
Selection Sort
/*
SELECTION-SORT(A)
1 for j ← 1 to length[A] - 1
2 do min ← j
3 for i ← j+1 to length[A]
4 do if A[i] < A[min]
5 then min ← i
6 <> swap two numbers
7 tmp ← A[j]
8 A[j] ← A[min]
/*
MERGE(A, p, q, r)
1 n1 ← q - p + 1
2 n2 ← r - q
3 create arrays L[1...n1 + 1] and R[1...n2 + 1]
4 for i ← 1 to n1
5 do L[i] ← A[p + i - 1]
6 for j ← 1 to n2
7 do R[j] ← A[q + j]
8 L[n1 + 1] ← ∞
@JulesWang
JulesWang / observer.rb
Created June 6, 2011 06:59
observer pattern by ruby
class Newspaper
include Observable
def deliver(news)
changed
@news = news
notify_observers @news
end
end
class Subscriber
def update(news)
@JulesWang
JulesWang / singleton.rb
Created June 6, 2011 07:00
singleton pattern by ruby
require 'singleton'
class Single
include Singleton
#...
end
single = Single.instance
# private method `new' called for Single:Class (NoMethodError)