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*/
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; }