Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Listas enlazadas - k-esimo elemento
/* Dada una lista, indicar el elemento contenido en el cuarto nodo. */ #include <iostream> using namespace std; struct Nodo { int dato; Nodo* siguiente; }; /* Dado el puntero inicial a una lista y el puntero a un nuevo nodo que aún no está en la lista, inserta este nuevo nodo al principio. Retorna el puntero inicial. */ Nodo* insertar(Nodo* inicio, Nodo* nuevo){ nuevo->siguiente = inicio; return nuevo; } /* Iterativamente, genera un nuevo nodo con un dato y el siguiente en nullptr, y lo envía a una función que inserta ese nodo en la lista. Retorna el puntero inicial. */ Nodo* carga(Nodo* inicio) { Nodo* nuevo; for (int numero = 1; numero < 10; numero += 2){ nuevo = new Nodo; nuevo->dato = numero; nuevo->siguiente = nullptr; inicio = insertar(inicio, nuevo); } return inicio; } /* Imprime en pantalla todos los elementos de la lista. */ void imprimir(Nodo* inicio){ for (Nodo* aux = inicio; aux != nullptr; aux = aux->siguiente){ cout << aux->dato << " - "; } cout << endl; } /* Busca el nodo en la posición dada por k, y retorna ese nodo. Si no se encuentra (por ejemplo, si la lista tiene menos de "k" nodos) retorna nullptr. */ Nodo* k_esimo(Nodo* inicio, int k){ int c = 0; Nodo* aux = inicio; for (; aux != nullptr; aux = aux->siguiente){ c++; if (c == k){ break; } } return aux; } /* Función principal del programa. Se inicializa un puntero inicial a una lista y se llama a funciones para cargarla y realizar otras operaciones */ int main() { Nodo* inicio = nullptr; inicio = carga(inicio); imprimir(inicio); Nodo* k_esimo_nodo = k_esimo(inicio, 4); if (k_esimo_nodo != nullptr) cout << "Dato en el cuarto nodo: " << k_esimo_nodo->dato << endl; else cout << "No hay suficientes nodos" << endl; }
run
|
edit
|
history
|
help
0
KhadijahAlshehhi
binder
runtime template mode processor
Bit count in number
VecScalMultiOpLaod
543
AVL - ith element
FindMissingLagrange
FAK MEN
congruence modulo equations (together with a simple BigInteger class)