kimquy_algo 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3216107a4ddb2418d18acaef78753d6f6cbea3b
4
- data.tar.gz: ea16f081b9b857733cea934e6928d4fdf65d97a1
3
+ metadata.gz: 3f6d7f0b42c127d3978cd23e4add84f8a9a6edb7
4
+ data.tar.gz: 529d1ddd0a66c574ba9ad42fefa93c53349ed14f
5
5
  SHA512:
6
- metadata.gz: c4e81b47d54dbea4283439363dce10cb4da87eec9943e0c38514d8a5aa7bff23ae76d228cd9f3c982e628faa3b0ec937821c01d9251fceedcb4ea8c0b0338a36
7
- data.tar.gz: 9145d59afe56a54c21b31aa3635867cc4ea736d8c2f122ebe270bd3ddd986e7b19a16572a12b71bd6699689400a940c9bf8cc506806e9b86c6d0af7c2658db18
6
+ metadata.gz: c837d7c795579a4ab0363e241e66c36b70df61b93e68b8946b2e177eb40fe3561d7ce5a833d0de68159f3cb1a7ca6669586df2640beea9e99566ec9adf519d8e
7
+ data.tar.gz: 627c623c495bbf98c760c3b46b6fd8774aaf77cf5221d5e17ecdbc51a6b3025da4c7182870104dcf44086f209fcf50ea5751ff9bc52da38c5a73552bab56f5d2
data/README.md CHANGED
@@ -6,8 +6,9 @@ I created a simple ruby gem for sorting algorithms:
6
6
  + quick sort
7
7
  + bubble sort
8
8
  + selection sort
9
- + heap sort
10
- + and more ...
9
+ + knuth_shuffle (shuffle an array)
10
+ + shell sort (3-h shell sort)
11
+ + updating more stuff ...
11
12
 
12
13
  ## Example
13
14
 
@@ -125,5 +125,32 @@ class Array
125
125
  define_method(:merge_sort) do
126
126
  kimquy_merge_sort(self,0,self.length)
127
127
  end
128
+
129
+ define_method(:knuth_shuffle) do
130
+ p = Random.new
131
+ 0.upto(self.length - 1) do |i|
132
+ temp = p.rand(0..i)
133
+ swap(temp,i)
134
+ end
135
+ end
136
+
137
+ define_method(:shell_sort) do
138
+ h = 1
139
+ while ( h < self.length)
140
+ h = 3*h + 1
141
+ end
142
+
143
+ while(h >= 1)
144
+ h.upto(self.length - 1) do |i|
145
+ j = i
146
+ while j >= h && self[j-h] > self[j]
147
+ swap(j, j-h)
148
+ j -= h
149
+ end
150
+ end
151
+ h = h/3
152
+ end
153
+ end
154
+
128
155
  end
129
156
 
@@ -1,3 +1,3 @@
1
1
  module KimquyAlgo
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kimquy_algo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - long nguyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-21 00:00:00.000000000 Z
11
+ date: 2013-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,6 +53,7 @@ files:
53
53
  - lib/kimquy_algo.rb
54
54
  - lib/kimquy_algo/version.rb
55
55
  - pkg/kimquy_algo-0.0.2.gem
56
+ - pkg/kimquy_algo-0.0.3.gem
56
57
  homepage: https://github.com/kimquy/kimquy_algo
57
58
  licenses:
58
59
  - MIT