def addLast(lst, element): """ Agrega un elemento en la última posición de la lista. Se adiciona un elemento en la última posición de la lista y se actualiza el apuntador a la útima posición. Se incrementa el tamaño de la lista en 1 Args: lst: La lista en la que se inserta el elemento element: El elemento a insertar Raises: Exception """ try: new_node = node.newSingleNode(element) if lst['size'] == 0: lst['first'] = new_node else: lst['last']['next'] = new_node lst['last'] = new_node lst['size'] += 1 return lst except Exception as exp: error.reraise(exp, 'singlelinkedlist->addLast: ')
def addFirst(lst, element): """Agrega un elemento a la lista en la primera posicion. Agrega un elemento en la primera posición de la lista, ajusta el apuntador al primer elemento e incrementa el tamaño de la lista. Args: lst: La lista don de inserta el elemento element: El elemento a insertar en la lista Returns: La lista con el nuevo elemento en la primera posición, si el proceso fue exitoso Raises: Exception """ try: new_node = node.newSingleNode(element) new_node['next'] = lst['first'] lst['first'] = new_node if (lst['size'] == 0): lst['last'] = lst['first'] lst['size'] += 1 return lst except Exception as exp: error.reraise(exp, 'singlelinkedlist->addFirst: ')
def insertElement(lst, element, pos): """ Inserta el elemento element en la posición pos de la lista. Inserta el elemento en la posición pos de la lista. La lista puede ser vacía. Se incrementa en 1 el tamaño de la lista. Args: lst: La lista en la que se va a insertar el elemento element: El elemento a insertar pos: posición en la que se va a insertar el elemento, 0 < pos <= size(lst) Raises: Exception """ try: new_node = node.newSingleNode(element) if (pos == 1): new_node['next'] = lst['first'] lst['first'] = new_node else: cont = 1 prev = lst['first'] current = lst['first'] while cont < pos: prev = current current = current['next'] cont += 1 new_node['next'] = current prev['next'] = new_node lst['size'] += 1 return lst except Exception as exp: error.reraise(exp, 'singlelinkedlist->insertElement: ')
def addFirst(lst, element): """ Agrega un elemento en la primera posición de la lista """ new_node = node.newSingleNode(element) new_node['next'] = lst['first'] lst['first'] = new_node if (lst['size'] == 0): lst['last'] = lst['first'] lst['size'] += 1
def addLast(lst, element): """ Agrega un elemento en la última posición de la lista. lst: La lista en la que se inserta el elemento element: El elemento a insertar """ new_node = node.newSingleNode(element) if lst['size'] == 0: lst['first'] = new_node else: lst['last']['next'] = new_node lst['last'] = new_node lst['size'] += 1
def insertElement(lst, element, pos): """ Inserta el elemento element en la posición pos de la lista. lst: La lista en la que se va a insertar el elemento element: El elemento a insertar pos: posición en la que se va a insertar el elemento, 0 < pos <= size(lst) """ new_node = node.newSingleNode(element) if (pos == 1): new_node['next'] = lst['first'] lst['first'] = new_node else: cont = 1 prev = lst['first'] current = lst['first'] while cont < pos: prev = current current = current['next'] cont += 1 new_node['next'] = current prev['next'] = new_node lst['size'] += 1