예제 #1
0
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:
        lt.insertElement(lst, element, pos)
    except Exception as exp:
        error.reraise(exp, 'TADList->insertElement: ')
예제 #2
0
def insert(heap, element):
    """
    Guarda la pareja llave-valor en el heap. Lo guarda en la última
    posición y luego hace swim del elemento
    Args:
        heap: El arreglo con la informacion
        element: El elemento a guardar
    Returns:
        El heap con el nuevo elemento
    Raises:
        Exception
    """
    try:
        heap['size'] += 1
        lt.insertElement(heap['elements'], element, heap['size'])
        swim(heap, heap['size'])
        return heap
    except Exception as exp:
        error.reraise(exp, 'heap:insert')
예제 #3
0
def insert(iheap, key, index):
    """
    Inserta la llave key con prioridad index

    Args:
        iheap: El heap indexado
    Returns:
       El iheap con la nueva paraja indexada
    Raises:
        Exception
    """
    try:
        if not map.contains(iheap['qpMap'], key):
            iheap['size'] += 1
            lt.insertElement(iheap['elements'], {'key': key, 'index': index},
                             iheap['size'])
            map.put(iheap['qpMap'], key, iheap['size'])
            swim(iheap, iheap['size'])
        return iheap
    except Exception as exp:
        error.reraise(exp, 'indexheap:newindexheap')