Skip to content

Commit

Permalink
wrote methods, tests passing
Browse files Browse the repository at this point in the history
  • Loading branch information
kashenafi committed Dec 15, 2020
1 parent 3fb20d6 commit 7da95d6
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 10 deletions.
36 changes: 36 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
GEM
remote: https://rubygems.org/
specs:
ansi (1.5.0)
builder (3.2.4)
coderay (1.1.3)
method_source (1.0.0)
minitest (5.14.2)
minitest-reporters (1.4.2)
ansi
builder
minitest (>= 5.0)
ruby-progressbar
minitest-skip (0.0.3)
minitest (~> 5.0)
minitest-spec (0.0.2.1)
minitest (>= 3.0)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
rake (13.0.1)
ruby-progressbar (1.10.1)

PLATFORMS
ruby

DEPENDENCIES
minitest
minitest-reporters
minitest-skip
minitest-spec
pry
rake

BUNDLED WITH
2.1.4
35 changes: 29 additions & 6 deletions lib/linked_list.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,59 @@ def initialize
# Time complexity - ?
# Space complexity - ?
def add_first(data)

@head = Node.new(data, @head)
end

# Time complexity - ?
# Space complexity - ?
def get_first

return @head.nil? ? nil : @head.data
end

# Time complexity - ?
# Space complexity - ?
def length
return 0
length = 0
curr = @head
until curr.nil?
curr = curr.next
length += 1
end
return length
end

# Time complexity - ?
# Space complexity - ?
def add_last(data)

curr = @head
if curr.nil?
@head = Node.new(data, nil)
return
end
until curr.next == nil
curr = curr.next
end
curr.next = Node.new(data, nil)
end

# Time complexity - ?
# Space complexity - ?
def get_last

return if @head.nil?
curr = @head
until curr.next.nil?
curr = curr.next
end
return curr.data
end

# Time complexity - ?
# Space complexity - ?
def get_at_index(index)

curr = @head
index.times do
curr.nil? ? return : curr = curr.next
end
return curr.data
end
end
8 changes: 4 additions & 4 deletions test/linked_list_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
end
end

xdescribe 'add_first & get_first' do
describe 'add_first & get_first' do
it 'can add values to an empty list' do
# Act
@list.add_first(3)
Expand Down Expand Up @@ -51,7 +51,7 @@
end
end

xdescribe "length" do
describe "length" do
it "will return 0 for an empty list" do
expect(@list.length).must_equal 0
end
Expand All @@ -66,7 +66,7 @@
end
end

xdescribe "addLast & getLast" do
describe "addLast & getLast" do
it "will add to the front if the list is empty" do
@list.add_last(1)
expect(@list.get_first).must_equal 1
Expand All @@ -93,7 +93,7 @@
end
end

xdescribe 'get_at_index' do
describe 'get_at_index' do
it 'returns nil if the index is outside the bounds of the list' do
expect(@list.get_at_index(3)).must_be_nil
end
Expand Down

0 comments on commit 7da95d6

Please sign in to comment.