DoublyLinkedList
¶ ↑
Ruby implementation of doubly linked list, following some Ruby idioms.
Installation¶ ↑
Add this line to your application’s Gemfile:
gem 'doubly_linked_list'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install doubly_linked_list
Usage¶ ↑
l = DoublyLinkedList.new l.add_last('cat') l.add_last('dog') l.add_first('fish') l.to_a # => ['fish','cat','dog'] l.size # => 3 l = DoublyLinkedList.new :items => ['cat','dog','fish'] l.to_a # => ['cat','dog','fish'] l = DoublyLinkedList.new :list_info => {:title =>'test list', :description => 'Test out my doubly linked list.'}, :items => ['cat','dog','rabbit','fish'] l.to_a # => ['cat','dog','rabbit','fish'] l.list_info # => {:title =>'test list', :description => 'Test out my doubly linked list.'} l.remove_first #=> 'cat' l.remove_last #=> 'fish'
TODO¶ ↑
-
Insert / delete in the middle
-
Batch add in the middle
-
Move item to different position
-
Call back for item movements
Tests¶ ↑
Run test with
$ rspec
Contributing¶ ↑
-
Fork it ( github.com/[my-github-username]/doubly_linked_list/fork )
-
Create your feature branch (
git checkout -b my-new-feature
) -
Commit your changes (
git commit -am 'Add some feature'
) -
Push to the branch (
git push origin my-new-feature
) -
Create a new Pull Request