Skip to content

Instantly share code, notes, and snippets.

View Harryyan's full-sized avatar
🏠
Working from home

Harry Harryyan

🏠
Working from home
View GitHub Profile
@Harryyan
Harryyan / Binary Search Recursive implementation
Created March 30, 2014 15:25
Python 递归实现2分查找
#!/usr/bin/python
import sys
class Bsrecursive:
name = 2
def BinarySearch(self,sortedArray,start,stop,key):
@Harryyan
Harryyan / Binary Search Common Implementation
Created March 30, 2014 15:26
python 2分查找普通实现,和jdk中一样
#!/usr/bin/python
import sys
def binaryComm(data,key):
stop = len(data) - 1
start = 0
while start <= stop:
@Harryyan
Harryyan / Insertion Sort
Created March 31, 2014 05:17
Ruby 实现直接插入排序
#!/usr/bin/env ruby
def insertionSort(data)
len = data.length
(1..len-1).each do |i|
if data[i]>data[i-1]
next
end
@Harryyan
Harryyan / Binary Insertion Sort
Created March 31, 2014 06:35
Ruby 实现折半插入排序
#!/usr/bin/env ruby
def b_insertion_sort(data)
stop = data.length - 1
(1..stop).each do |i|
tmp = data[i]
low = 0
high = i- 1
@Harryyan
Harryyan / insertion Sort
Created March 31, 2014 13:12
ruby实现的两种代码量较少的直接插入排序算法,一种是需要另一个数组,一种是不需要额外数组的
#This way is the easy way to do insertion sort, but needs create a new array
class InsertionSort
def sort_out_of_place(to_sort)
sorted = []
to_sort.each do |element|
for index in 0..(to_sort.length - 1)
sorted.insert(index, element) if to_sort[index] > element
end
end
@Harryyan
Harryyan / two-way binary sort
Created April 6, 2014 03:54
Ruby实现2路插入排序;2路插入排序基于折半插入排序
#!/usr/bin/env ruby
def two_way_sort data
first,final = 0,0
temp = []
temp[0] = data[0]
result = []
len = data.length
for i in 1..(len-1)
@Harryyan
Harryyan / shell sort
Created April 8, 2014 01:41
Ruby实现希尔排序
#!/usr/bin/env ruby
def shell_sort data,increment
len_data = data.length
len_increment = increment.length
for k in 0..(len_increment - 1)
for i in increment[k]..(len_data - 1)
tmp = data[i]
j = i
@Harryyan
Harryyan / Sort Algorithms
Created April 13, 2014 08:35
利用python实现4中插入类排序算法,希尔排序,直接插入排序,二路插入排序,折半插入排序
#!/usr/bin/python
class SortAlgorithms:
#direct insertion sort
def insertion_sort(self,data):
for index in range(1,len(data)):
for inner_index in range(0,index):
if data[inner_index] >= data[index]:
data.insert(inner_index,data[index])
del(data[index+1])
@Harryyan
Harryyan / keywordtest
Created April 26, 2014 05:47
模拟chrome浏览器搜索关键字,返回第一页url
#!/usr/bin/python
#coding:utf-8
import urllib,urllib2,cookielib,re,sys,os,time,random
cj = cookielib.CookieJar()
str1 = 'Apple-Mon identifiant Apple' #0
str2 = 'Woolworths - Customer Satisfaction Survey'#0
extension String{
//下标属性
subscript(subrange: Range<Int>) -> String {
get {
var start = advance(startIndex, subrange.startIndex)
var end = advance(startIndex, subrange.endIndex)
return substringWithRange(Range(start: start, end: end))