예제 #1
0
def descendants_from_list(t: Tree, list_: list, branching: int) -> Tree:
    """
    Populate Tree t's descendants from list_, filling them
    in in level order, with up to arity children per node.
    Then return t.

    >>> descendants_from_list(Tree(0), [1, 2, 3, 4], 2)
    Tree(0, [Tree(1, [Tree(3), Tree(4)]), Tree(2)])
    """
    q = Queue()
    q.add(t)
    list_ = list_.copy()
    while not q.is_empty():  # unlikely to happen
        new_t = q.remove()
        new_t: Tree
        for _ in range(0, branching):
            if len(list_) == 0:
                return t  # our work here is done
            else:
                new_t_child = Tree(list_.pop(0))
                new_t.children.append(new_t_child)
                q.add(new_t_child)
    return t
예제 #2
0
from csc148_queue import Queue


def list_queue(l: list, q: "Queue") -> None:
    for item in l:
        q.add(item)

    # Remove sequence.
    while not q.is_empty():
        obj = q.remove()
        if type(obj) == list:
            for sub_item in obj:
                q.add(sub_item)
        else:
            print(obj)


if __name__ == "__main__":
    queue = Queue()
    input_received = None
    while not input_received == 148:
        input_received = int(input("value to be added: "))
        if not input_received == 148:
            queue.add(input_received)

    accumulator = 0
    while not queue.is_empty():
        accumulator += queue.remove()
    print(accumulator)
    def setUp(self):
        """Set up an empty queue.
        """

        self.queue = Queue()
    def setUp(self):
        """Set up a queue with a single element.
        """

        self.queue = Queue()
        self.queue.add('a')
예제 #5
0
queue client module
"""
from csc148_queue import Queue
from typing import List


def list_queue(lst: List[object], u_queue: Queue) -> None:
    """ Adds each element of the list to the stack """
    for item in lst:
        u_queue.add(item)
    while not u_queue.is_empty():
        item = u_queue.remove()
        if type(item) == list:
            for thing in item:
                u_queue.add(thing)
        else:
            print(item)


if __name__ == '__main__':
    new_queue = Queue()
    new_sum = 0
    number = int(input("Enter an integer: "))
    while number != 148:
        new_queue.add(number)
        number = int(input("Enter an integer: "))
    while not new_queue.is_empty():
        print(new_queue.remove())
        # new_sum += new_queue.remove()
    # print(new_sum)
예제 #6
0
    def setUp(self):
        '''Set up an empty queue.
        '''

        self.queue = Queue()
예제 #7
0
    def setUp(self):
        '''Set up a queue with a single element.
        '''

        self.queue = Queue()
        self.queue.enqueue('a')
예제 #8
0
    for item in lst:
        queue.add(item)


    while not queue.is_empty():
        q_1 = queue.remove()
        if isinstance(q_1, list):
            for item in q_1:
                queue.add(item)
        else:
            print(q_1)



if __name__ == '__main__':
    q = Queue()
    #i = int(input('type a int:'))

    #while i != 148:
    #    q.add(i)
    #    i = int(input('type a int:'))

    #print(sum(q._content))

    list_1 = [1, 3, 5]
    list_2 = [1, [3, 5], 7]
    list_3 = [1, [3, [5, 7], 9], 11]
    #list_queue(list_1, q)
    #list_queue(list_2, q)
    list_queue(list_3, q)
예제 #9
0
from csc148_queue import Queue


def list_queue(self, lst: list) -> None:
    """Docstring.
    """
    for item in lst:
        self.add(item)
    while not self.is_empty():
        first = self.remove()
        if isinstance(first, list):
            for element in first:
                self.add(element)
        else:
            print(first)


if __name__ == '__main__':

    list_queue(Queue(), [1, [3, [5, 7], 9], 11])
    #list_queue(Queue(), [1, [3, 5], 7])