예제 #1
0
class BagUseLinkList(object):
    def __init__(self):
        self.__data_list = LinkList()

    def add(self, item):
        node = Node(item)
        self.__data_list.append(node)

    def is_empty(self):
        return self.__data_list.is_empty()

    def __len__(self):
        return len(self.__data_list)

    def __iter__(self):
        self.__data_list.__iter__()
        return self

    def __next__(self):
        return self.__data_list.__next__()
class QueueUseLink(object):
    def __init__(self):
        self.__list = LinkList()

    def enqueue(self, item):
        self.__list.append(Node(item))

    def dequeue(self):
        return self.__list.pop().item_value

    def is_empty(self):
        return len(self.__list) == 0

    def size(self):
        return len(self.__list)

    def __iter__(self):
        self.__list.__iter__()
        return self

    def __next__(self):
        return self.__list.__next__().item_value