Ejemplo n.º 1
0
int listaInsertar(Lista* lista, int posicion, void* elemento) {
    Nodo* nuevo;
    Nodo* actual;
    Nodo* anterior = NULL;
    
    nodoCrear(&nuevo);
    actual = lista->raiz;
    while (posicion >= 0) {
        if (posicion == 0) {
            nodoSetSiguiente(actual, nuevo);
            if (anterior != NULL) {
                nodoSetSiguiente(nuevo, anterior);
            } else {
                    lista->raiz = nuevo;
            }/*else*/
            break;
        }/*if*/
        if (actual == NULL) {
            nodoBorrar(&nuevo);
            return ERROR;
        }
        anterior = actual;
        actual = nodoGetSiguiente(actual);
        posicion--;
    }/*while*/
    nodoSetElemento(elemento, nuevo);
    return EXITO;    
}/*main*/
Ejemplo n.º 2
0
void insertarAtras( lista *l, char *palabra ){
    nodo *nuevoNodo = nodoCrear( palabra );
    nodo *nodoActual = l->primero;
    if( nodoActual == NULL ){
        l->primero = nuevoNodo;
        return;
	}
    while( nodoActual->siguiente != NULL )
		nodoActual = nodoActual->siguiente;
	nodoActual->siguiente = nuevoNodo;
}