ordered_ds 1.0.1 → 1.1.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ordered_ds.rb +8 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9a8a07dd46959758a348493a35f3320ecf7d39f03245c0c0a427e718e936a52
4
- data.tar.gz: 0a37156519aa6313ee525a23c2b13eb0447f2d2456b6a7bafa2a7a1ce8d23ea4
3
+ metadata.gz: 7a943103e96d394a520af9c9ca6377dbd780749064c11e54aa69bfd62e07c25c
4
+ data.tar.gz: be7562dcc6eb2cb47c37d3f9f53b2014e6c86386fa4ab8be1d01e894688af54a
5
5
  SHA512:
6
- metadata.gz: 28540d59778755070c408e372ab9d12616cb08d1d695126d63edfb6c5fc9a16ae3fe7edf23d90f902c7cea4613423e764e05a32666859a1e4bf49f79cf374b2d
7
- data.tar.gz: f516ae08fb145bede577be79ea6443fd167b26f27832be19da05895eff7f87889f200de7228c5e9d1f2fb77730470511ee9f16610fbddea59d365713f2ed11f8
6
+ metadata.gz: 518f0105e1868a804377623f33c2b3bf78efcf54ec926f433c7713cb01c0399ee0c74b8c5e00502224127f72e337941b4cfdcbc828cf81e05cfb52379f60dba9
7
+ data.tar.gz: 4153bbe301542b4a291f2a19493fcddd91767cdb00e1cc51c0c6dd86e99b831994f9778e7086e777d479f772daf248e9f1cbd038c5a5a09a4e1a7153ffc7ca6e
data/lib/ordered_ds.rb CHANGED
@@ -14,6 +14,13 @@ class PQ
14
14
  def size = @a.size
15
15
  def empty? = @a.empty?
16
16
  def top = @a.first
17
+ def push_pop(x) = !@a.empty? && @u.(x, @a.first) ? pop_push(x) : x
18
+
19
+ def pop_push x
20
+ t, @a[0], = @a.first, x
21
+ sink 0
22
+ t
23
+ end
17
24
 
18
25
  def << x
19
26
  i = @a.size
@@ -24,6 +31,7 @@ class PQ
24
31
  @a[p], @a[i] = @a[i], @a[p]
25
32
  i = p
26
33
  end
34
+ self
27
35
  end
28
36
 
29
37
  def pop
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ordered_ds
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Viktor Reznov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-29 00:00:00.000000000 Z
11
+ date: 2023-11-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: