From d28b47c43ef73efbe06f77acea077bee9ccec492 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 5 Dec 2020 08:35:12 +0000 Subject: rename set to search --- set/elementary.go | 79 ------------------------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 set/elementary.go (limited to 'set/elementary.go') diff --git a/set/elementary.go b/set/elementary.go deleted file mode 100644 index a9d367e..0000000 --- a/set/elementary.go +++ /dev/null @@ -1,79 +0,0 @@ -package set - -type ElementaryElem struct { - key int - val int - next *ElementaryElem -} - -type Elementary struct { - root *ElementaryElem -} - -func NewElementary() *Elementary { - return &Elementary{} -} - -func (s *Elementary) Empty() bool { - return s.root == nil -} - -func (s *Elementary) Set(key int, val int) { - if s.Empty() { - s.root = &ElementaryElem{key, val, nil} - return - } - - elem := s.root - - for { - if elem.key == key { - elem.val = val - return - } - if elem.next == nil { - elem.next = &ElementaryElem{key, val, nil} - return - } - elem = elem.next - } -} - -func (s *Elementary) Get(key int) (int, error) { - elem := s.root - - for elem != nil { - if elem.key == key { - return elem.val, nil - } - elem = elem.next - } - - return 0, NotFound -} - -func (s *Elementary) Del(key int) (int, error) { - if s.Empty() { - return 0, NotFound - } - - if s.root.key == key { - defer func() { - s.root = s.root.next - }() - return s.root.val, nil - } - - elem := s.root - for elem.next != nil { - if elem.next.key == key { - defer func() { - elem.next = elem.next.next - }() - return elem.next.val, nil - } - elem = elem.next - } - - return 0, NotFound -} -- cgit v1.2.3