heapify 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 51a7513b7e04e069205261a19182ffef3bfa703acd31a30c32a7341ecd4b935b
4
- data.tar.gz: 64b1ddace129544cca479eba4b856081efcf788dd93afabb156e2f9a0c3eaaea
3
+ metadata.gz: 869287480a83c49cc2dc64ae94d6fb505c9163ab75f80f50a77c68340d94ca10
4
+ data.tar.gz: da33f9d0afd89961d828f8e61c00f275fc94843285fb08d2fab1bbf7a70d1eeb
5
5
  SHA512:
6
- metadata.gz: c14ea46042ae6eb1de1d4bd98632ff8ed543c6a21f3f008f54c63d32ba64d2bccdfb69561a3d8361fdf7266238453945731c36d7e287e554a82a6e8d1b1da59d
7
- data.tar.gz: 1f6c21864c04be6f3bf03f2d8ce3a9fa4c1ec00563338c7565f98a7ad26efd22190f4a55a020d95c6e4537a737cfa6c0b5153cd904bdd2bf90a61006bc7c125a
6
+ metadata.gz: 63ea5cc7975cc9fab0aa4885da4bef86b3cc17675376edbbb22a003707ee6dba1de66374f0b7c6d4d92a1725548616256ecc24786f57f234d07298a4b8c487a4
7
+ data.tar.gz: 57952d95a35dc17ce0469c577a0584ccd12995aed8ebb49f5f61394ab0a098d6206b3fa92e13cc60445a3ede5c1f0c043db7d1fced9da54e5215370d3700168b
data/.rspec_status ADDED
@@ -0,0 +1,8 @@
1
+ example_id | status | run_time |
2
+ ------------------------------- | ------ | --------------- |
3
+ ./spec/heapify_spec.rb[1:1] | passed | 0.00057 seconds |
4
+ ./spec/heapify_spec.rb[1:2:1:1] | passed | 0.00042 seconds |
5
+ ./spec/heapify_spec.rb[1:2:1:2] | passed | 0.00006 seconds |
6
+ ./spec/heapify_spec.rb[1:2:2:1] | passed | 0.00007 seconds |
7
+ ./spec/heapify_spec.rb[1:2:3:1] | passed | 0.00006 seconds |
8
+ ./spec/heapify_spec.rb[1:2:4:1] | passed | 0.00008 seconds |
data/README.md CHANGED
@@ -36,8 +36,8 @@ Transforms an array into a heap in-place. It has a time complexity of O(n) and a
36
36
 
37
37
  ```ruby
38
38
  array = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7]
39
- heap = array.heapify
40
- # heap => [1, 2, 3, 4, 7, 9, 10, 14, 8, 16]
39
+ array.heapify
40
+ # array => [1, 2, 3, 4, 7, 9, 10, 14, 8, 16]
41
41
  ```
42
42
 
43
43
  ### `heap_push(val)`
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Heapify
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
data/lib/heapify.rb CHANGED
@@ -47,8 +47,8 @@ module Heapify
47
47
  right = 2 * index + 2
48
48
  smallest = index
49
49
 
50
- smallest = left if left < size && self[left] < self[smallest]
51
- smallest = right if right < size && self[right] < self[smallest]
50
+ smallest = left if left < size && (self[left] <=> self[smallest]) == -1
51
+ smallest = right if right < size && (self[right] <=> self[smallest]) == -1
52
52
 
53
53
  return if smallest == index
54
54
 
@@ -59,7 +59,7 @@ module Heapify
59
59
  def heapify_up(index)
60
60
  parent = (index - 1) / 2
61
61
 
62
- return if index.zero? || self[parent] <= self[index]
62
+ return if index.zero? || (self[parent] <=> self[index]) <= 0
63
63
 
64
64
  swap(index, parent)
65
65
  heapify_up(parent)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heapify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garrison Jensen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-24 00:00:00.000000000 Z
11
+ date: 2024-04-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Heapify is a gem that provides a heapify method for arrays. It also provides
14
14
  methods for adding and removing elements from the heap.
@@ -19,6 +19,7 @@ extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
21
  - ".rspec"
22
+ - ".rspec_status"
22
23
  - ".rubocop.yml"
23
24
  - CHANGELOG.md
24
25
  - CODE_OF_CONDUCT.md
@@ -51,7 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
52
  - !ruby/object:Gem::Version
52
53
  version: '0'
53
54
  requirements: []
54
- rubygems_version: 3.4.22
55
+ rubygems_version: 3.5.7
55
56
  signing_key:
56
57
  specification_version: 4
57
58
  summary: Heapify is a gem that provides a heapify method for arrays.