SnowArraySort 1.0.13 → 1.0.14
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.
- data/Gemfile +3 -3
- data/README.md +3 -3
- data/lib/SnowArraySort/asc_desc_array_sort_snow.rb +11 -11
- data/lib/SnowArraySort/merge_array_sort_snow.rb +31 -15
- data/lib/SnowArraySort/test_of_merge_array.rb +22 -19
- data/lib/SnowArraySort/version.rb +4 -4
- data/lib/SnowArraySort.rb +8 -8
- metadata +12 -10
- checksums.yaml +0 -7
data/Gemfile
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gemspec
|
data/README.md
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
# SnowArraySort
|
2
|
-
Algorithm's for sorting array's
|
3
|
-
# SnowArraySort
|
1
|
+
# SnowArraySort
|
2
|
+
Algorithm's for sorting array's
|
3
|
+
# SnowArraySort
|
@@ -1,11 +1,11 @@
|
|
1
|
-
module SnowArraySort
|
2
|
-
class SnowAD
|
3
|
-
include SnowArraySort
|
4
|
-
|
5
|
-
def <=>(other)
|
6
|
-
-super
|
7
|
-
end
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
|
1
|
+
module SnowArraySort
|
2
|
+
class SnowAD
|
3
|
+
include SnowArraySort
|
4
|
+
|
5
|
+
def <=>(other)
|
6
|
+
-super
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
|
@@ -1,16 +1,32 @@
|
|
1
|
-
module SnowArraySort
|
2
|
-
class MaSort
|
3
|
-
include SnowArraySort
|
4
|
-
|
5
|
-
def self.merge_sort(lists)
|
6
|
-
return lists if lists.count == 1
|
7
|
-
|
8
|
-
middle = lists[0..(lists.count / 2) - 1 ]
|
9
|
-
left = lists[0..middle.count - 1]
|
10
|
-
right = lists[middle.count..lists.count]
|
11
|
-
|
12
|
-
x = merge_sort(left)
|
13
|
-
y = merge_sort(right)
|
14
|
-
end
|
15
|
-
|
1
|
+
module SnowArraySort
|
2
|
+
class MaSort
|
3
|
+
include SnowArraySort
|
4
|
+
|
5
|
+
def self.merge_sort(lists)
|
6
|
+
return lists if lists.count == 1
|
7
|
+
|
8
|
+
middle = lists[0..(lists.count / 2) - 1 ]
|
9
|
+
left = lists[0..middle.count - 1]
|
10
|
+
right = lists[middle.count..lists.count]
|
11
|
+
|
12
|
+
x = merge_sort(left)
|
13
|
+
y = merge_sort(right)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.mergesort(container)
|
17
|
+
return container if container.size <= 1
|
18
|
+
mid = container.size / 2
|
19
|
+
left = container[0...mid]
|
20
|
+
right = container[mid...container.size]
|
21
|
+
merge(mergesort(left), mergesort(right))
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.merge(left, right)
|
25
|
+
sorted = []
|
26
|
+
until left.empty? or right.empty?
|
27
|
+
left.first <= right.first ? sorted << left.shift : sorted << right.shift
|
28
|
+
end
|
29
|
+
sorted + left + right
|
30
|
+
end
|
31
|
+
end
|
16
32
|
end
|
@@ -1,20 +1,23 @@
|
|
1
|
-
module SnowArraySort
|
2
|
-
class Arrays < MaSort
|
3
|
-
|
4
|
-
include SnowArraySort
|
5
|
-
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
1
|
+
module SnowArraySort
|
2
|
+
class Arrays < MaSort
|
3
|
+
|
4
|
+
include SnowArraySort
|
5
|
+
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.div_and_conquer
|
12
|
+
a = [1,3,4,6,7,2,2]
|
13
|
+
b = MaSort.mergesort a
|
14
|
+
puts b
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.merged_arrays
|
18
|
+
a = [1,3,4,6,7,2,2]
|
19
|
+
f = MaSort.merge_sort a
|
20
|
+
puts f
|
21
|
+
end
|
22
|
+
end
|
20
23
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module SnowArraySort
|
2
|
-
VERSION = "1.0.
|
3
|
-
end
|
4
|
-
|
1
|
+
module SnowArraySort
|
2
|
+
VERSION = "1.0.14"
|
3
|
+
end
|
4
|
+
|
data/lib/SnowArraySort.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require_relative "SnowArraySort/version"
|
2
|
-
require_relative "SnowArraySort/merge_array_sort_snow"
|
3
|
-
require_relative "SnowArraySort/asc_desc_array_sort_snow"
|
4
|
-
require_relative "SnowArraySort/test_of_merge_array"
|
5
|
-
|
6
|
-
module SnowArraySort
|
7
|
-
|
8
|
-
end
|
1
|
+
require_relative "SnowArraySort/version"
|
2
|
+
require_relative "SnowArraySort/merge_array_sort_snow"
|
3
|
+
require_relative "SnowArraySort/asc_desc_array_sort_snow"
|
4
|
+
require_relative "SnowArraySort/test_of_merge_array"
|
5
|
+
|
6
|
+
module SnowArraySort
|
7
|
+
|
8
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: SnowArraySort
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.14
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Justin Snow
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
12
|
+
date: 2015-11-10 00:00:00.000000000 Z
|
12
13
|
dependencies: []
|
13
14
|
description: Support for asc and desc order on multiple array fields also added ability
|
14
15
|
to merge sort as well.
|
@@ -18,35 +19,36 @@ executables: []
|
|
18
19
|
extensions: []
|
19
20
|
extra_rdoc_files: []
|
20
21
|
files:
|
21
|
-
- Gemfile
|
22
22
|
- README.md
|
23
|
-
-
|
24
|
-
- lib/SnowArraySort/asc_desc_array_sort_snow.rb
|
23
|
+
- Gemfile
|
25
24
|
- lib/SnowArraySort/merge_array_sort_snow.rb
|
26
25
|
- lib/SnowArraySort/test_of_merge_array.rb
|
27
26
|
- lib/SnowArraySort/version.rb
|
27
|
+
- lib/SnowArraySort/asc_desc_array_sort_snow.rb
|
28
|
+
- lib/SnowArraySort.rb
|
28
29
|
homepage: https://github.com/Jrsnow8921/SnowArraySort
|
29
30
|
licenses:
|
30
31
|
- MIT
|
31
|
-
metadata: {}
|
32
32
|
post_install_message:
|
33
33
|
rdoc_options: []
|
34
34
|
require_paths:
|
35
35
|
- lib
|
36
36
|
required_ruby_version: !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
37
38
|
requirements:
|
38
|
-
- -
|
39
|
+
- - ! '>='
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: '0'
|
41
42
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
42
44
|
requirements:
|
43
|
-
- -
|
45
|
+
- - ! '>='
|
44
46
|
- !ruby/object:Gem::Version
|
45
47
|
version: '0'
|
46
48
|
requirements: []
|
47
49
|
rubyforge_project:
|
48
|
-
rubygems_version:
|
50
|
+
rubygems_version: 1.8.23.2
|
49
51
|
signing_key:
|
50
|
-
specification_version:
|
52
|
+
specification_version: 3
|
51
53
|
summary: Algorithms for sorting arrays
|
52
54
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 1843fcfcdd2d4bc1cfdcd014c3b7f43b8fcc704a
|
4
|
-
data.tar.gz: 5f6856d6fa4c9e294c4926081c94529854db655b
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 69ad33893f44a2db1dee700a8e922f214bfb0541512bf9ca334b270e58c437ba0ed7351057f3a4c1926ae2be76132b67a0a345650735f06404989b9b55d83bd5
|
7
|
-
data.tar.gz: e942ebc7694729f11c1d2384a2debe234a1053759e7f8d665afdb8a686ccae787e53ccb93cdd835e56af80e4c5697ac2dab87c73bfc49efdd83d867ab4777925
|