kimquy_algo 0.0.1 → 0.0.2

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: 5090272d36fdfd976ddb5b6fe48d2f619ad5c94c
4
- data.tar.gz: 149d6b5f450a05ba705a6fe3dcc5ad824d45c103
3
+ metadata.gz: 02d99f4a0be8d7c4109261332c9165392600a890
4
+ data.tar.gz: a9ce587853849046b45b87f3d02683403d51a8f2
5
5
  SHA512:
6
- metadata.gz: 3c1d6e0146e5d66becef57405ebaf20dcb1fcb59111f86c6517517fa067a6c7359d8c2b5caf597a35840e9a3ad6e7603d3e76956527ffcd03f96123d0adce6f5
7
- data.tar.gz: ccfbb4e573631527af6a5280c9fb7e11e7ab58238fe4ff5bdfdb40d8246fbaa7c0904b0d357174731bcf6ec0e825b406b93121a35f9def76c5167aed757dc8f2
6
+ metadata.gz: 3e3623ac9b32f7ff3c4cea76852668b27805c18cc446a658445cce0a96546dfe4554da52704b1eeaaa16e3924cd2c1566eb2d1ad51b18a55e5fffd400c6001ec
7
+ data.tar.gz: dc5cd3de277d4b63028447f05e49eb82b97193a157aa4c9c8678d95362a5881391208602972cdafbd871e1b20d627776ffa60cf4d5c191d1cddef527f1b4cdf9
data/README.md CHANGED
@@ -1,6 +1,15 @@
1
1
  # KimquyAlgo
2
2
 
3
- TODO: Write a gem description
3
+ I created a simple ruby gem for sorting algorithms:
4
+ + insertion sort
5
+ + merge sort
6
+ + quick sort
7
+
8
+ updating...
9
+
10
+ example: <br/>
11
+ array = [10,9,8,7,6,5,4,3,2,1] <br/>
12
+ array.quicksort -> [1,2,3,4,5,6,7,8,9,10] <br/>
4
13
 
5
14
  ## Installation
6
15
 
@@ -16,14 +25,3 @@ Or install it yourself as:
16
25
 
17
26
  $ gem install kimquy_algo
18
27
 
19
- ## Usage
20
-
21
- TODO: Write usage instructions here
22
-
23
- ## Contributing
24
-
25
- 1. Fork it
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
data/kimquy_algo.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["nguy1461@vandals.uidaho.edu"]
11
11
  spec.description = %q{Algorithm and data structure}
12
12
  spec.summary = %q{Algorithm library}
13
- spec.homepage = "http://kimquy.github.io"
13
+ spec.homepage = "https://github.com/kimquy/kimquy_algo"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -1,3 +1,3 @@
1
1
  module KimquyAlgo
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/kimquy_algo.rb CHANGED
@@ -1,7 +1,4 @@
1
- require "kimquy_algo/version"
2
-
3
- module KimquyAlgo
4
- # Your code goes here...
1
+ module Sorting
5
2
  def kimquy_quicksort(a, p, r)
6
3
  if p < r
7
4
  q = partition(a, p, r)
@@ -42,14 +39,31 @@ module KimquyAlgo
42
39
  end
43
40
  end
44
41
 
45
- def merge
46
-
47
- end
42
+ def merge(a, p, q, r)
43
+
44
+ left = a[p..q-1]
45
+ right = a[q..r]
46
+
47
+ left << 1000000000 #sentinel
48
+ right << 1000000000 #sentinel
48
49
 
50
+ i = 0
51
+ j = 0
52
+ k = p
53
+ k.upto(r-1) do |x|
54
+ if left[i] <= right[j]
55
+ a[x] = left[i]
56
+ i = i + 1
57
+ else
58
+ a[x] = right[j]
59
+ j = j + 1
60
+ end
61
+ end
62
+ end
49
63
  end
50
64
 
51
65
  class Array
52
- include KimquyAlgo
66
+ include Sorting
53
67
 
54
68
  define_method(:swap) do |i,j|
55
69
  temp = self[i]
@@ -72,4 +86,9 @@ class Array
72
86
  self[i+1] = key
73
87
  end
74
88
  end
89
+
90
+ define_method(:merge_sort) do
91
+ kimquy_merge_sort(self,0,self.length)
92
+ end
75
93
  end
94
+
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kimquy_algo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - long nguyen
@@ -45,7 +45,6 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - .gitignore
49
48
  - Gemfile
50
49
  - LICENSE.txt
51
50
  - README.md
@@ -53,7 +52,8 @@ files:
53
52
  - kimquy_algo.gemspec
54
53
  - lib/kimquy_algo.rb
55
54
  - lib/kimquy_algo/version.rb
56
- homepage: http://kimquy.github.io
55
+ - pkg/kimquy_algo-0.0.1.gem
56
+ homepage: https://github.com/kimquy/kimquy_algo
57
57
  licenses:
58
58
  - MIT
59
59
  metadata: {}
data/.gitignore DELETED
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp