def ListaDesordenada():
    arch = abrir("pruebaordenar")

    print("LISTA DESORDENADA")
    for i in range(0, len(arch)):
        print(leer(arch, i).apeynom)
    cerrar(arch)
Esempio n. 2
0
def insertar(lista, x, campo):
    l = abrir(lista)
    aux = NodoLista()
    aux.info = x
    dato = leer(l, 0)
    if (dato == 0) or (criterio(x, campo) < criterio(
            leer(l, dato).info, campo)):
        aux.sig = dato
        agregar(l, aux)
        modificar(l, 0, len(l) - 1)
    else:
        ant = leer(l, dato)
        act_pos = ant.sig
        ant_pos = dato
        if (act_pos != 0):
            act = leer(l, ant.sig)
        while (act_pos != 0) and (criterio(act.info, campo) < criterio(
                aux.info, campo)):
            act_pos = act.sig
            act = leer(l, act.sig)
            ant_pos = ant.sig
            ant = leer(l, ant.sig)
        aux.sig = act_pos
        agregar(l, aux)
        ant.sig = len(l) - 1
        modificar(l, ant_pos, ant)
    cerrar(l)
Esempio n. 3
0
def eliminar(lista, el, campo):
    l = abrir(lista)
    pos = leer(l, 0)
    act = leer(l, pos)
    if criterio(act.info, campo) == el:
        x = act.info
        modificar(l, 0, act.sig)
    else:
        ant = leer(l, pos)
        act_pos = ant.sig
        ant_pos = pos
        if (act_pos != 0):
            act = leer(l, ant.sig)
        while (act_pos != 0) and (criterio(act.info, campo) != el):
            act_pos = act.sig
            act = leer(l, act.sig)
            ant_pos = ant.sig
            ant = leer(l, ant.sig)
        if (act != None) and (act_pos != 0):
            x = act.info
            ant.sig = act.sig
            modificar(l, ant_pos, ant)
        else:
            x = None
    return x
    cerrar(l)
Esempio n. 4
0
def mostrar_lista_2(lista):
    l = abrir(lista)
    act = leer(l, 0)
    while (act != 0):
        dato = leer(l, act)
        print(dato.info.nombre)
        act = dato.sig
    cerrar(l)
Esempio n. 5
0
def mostrar_lista_suma(lista):
    l = abrir(lista)
    act = leer(l, 0)
    suma = 0
    while (act != 0):
        dato = leer(l, act)
        print(dato.info)
        suma = dato.info + suma
        act = dato.sig
    return suma
    cerrar(l)
Esempio n. 6
0
def eliminar_primer_el(lista):
    l = abrir(lista)
    pos = leer(l, 0)
    if pos != 0:
        el = leer(l, pos)
        x = el.info
        modificar(l, 0, el.sig)
        return x
    else:
        return None
    cerrar(l)
Esempio n. 7
0
def busqueda(lista, x, campo):
    l = abrir(lista)
    pos = leer(l, 0)
    act = leer(l, pos)
    while (pos != 0) and (criterio(act.info, campo) != criterio(x, campo)):
        pos = act.sig
        act = leer(l, pos)
    if pos == 0:
        return pos
    else:
        return act.info
    cerrar(l)
Esempio n. 8
0
def busqueda2(lista, x, campo):
    if (not (lista_vacia(lista))):
        l = abrir(lista)
        vector = []
        pos = leer(l, 0)
        while (pos != 0):
            act = leer(l, pos)
            if (criterio(act.info, campo) == x):
                vector.append(act.info)
            pos = act.sig
        return vector
        cerrar(l)
    else:
        return False
Esempio n. 9
0
def mostrar_listaGuia(
    lista
):  #Funcion necesaria para poder mostrar la información de una persona en la agenda telefónica...
    if (not (lista_vacia(lista))):
        contactos = list()
        l = abrir(lista)
        act = leer(l, 0)
        while (act != 0):
            dato = leer(l, act)
            contactos.append(dato.info)
            act = dato.sig
        cerrar(l)
        return contactos
    else:
        return None
Esempio n. 10
0
def Lista(nombre):
    archivo = abrir(nombre)
    agregar(archivo, 0)
    cerrar(archivo)
Esempio n. 11
0
def lista_vacia(lista):
    l = abrir(lista)
    pos = leer(l, 0)
    return pos == 0
    cerrar(l)
Esempio n. 12
0
def tamanio_lista(lista):
    l = abrir(lista)
    return len(lista) - 2
    cerrar(l)