heapify 0.1.0 → 0.1.1

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
  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.