コード例 #1
0
 def test_searching(self):
     l = UnorderedList()
     for i in range(4):
         l.add(i)
     for i in range(4):
         self.assertTrue(l.search(i))
     for item in (5, None, True, "blah"):
         self.assertFalse(l.search(item))
コード例 #2
0
 def test_adding(self):
     l = UnorderedList()
     self.assertEqual(l.size(), 0)
     self.assertTrue(l.is_empty())
     l.add(1)
     self.assertEqual(l.size(), 1)
     self.assertEqual(l.head.value, 1)
     self.assertFalse(l.is_empty())
     l.add(2)
     self.assertEqual(l.size(), 2)
     self.assertEqual(l.head.value, 2)
コード例 #3
0
 def test_remove(self):
     l = UnorderedList()
     for i in range(3):
         l.add(i)
     # remove from middle
     l.remove(1)
     self.assertFalse(l.search(1))
     self.assertEqual(l.size(), 2)
     # remove from end
     l.remove(2)
     self.assertFalse(l.search(2))
     self.assertEqual(l.size(), 1)
     # remove from start
     l.remove(0)
     self.assertFalse(l.search(0))
     self.assertEqual(l.size(), 0)
コード例 #4
0
from unordered_list import UnorderedList

mylist = UnorderedList()

mylist.add(20)
mylist.add(40)
mylist.insert(1, 55)
mylist.insert(-2, 65)
print(mylist.index(65))
mylist.append(100)
print(mylist.index(100))
コード例 #5
0
from unordered_list import UnorderedList


def remove_dups(linked_list):
    start = linked_list.head
    previous = None

    while start:
        my_next = start.get_next()
        previous = start

        while my_next:
            if start.get_data() == my_next.get_data():
                previous.set_next(my_next.get_next())
            previous = my_next
            my_next = my_next.get_next()  #advance to next node

        start = start.get_next()


my_list = UnorderedList()
stuff = [4, 2, 44, 23, 2, 3, 4, 9]

for i in stuff:
    my_list.add_item(i)

print(my_list)
remove_dups(my_list)
print(my_list)
コード例 #6
0
 def setUp(self):
     self.l = UnorderedList()