kimquy_algo 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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