Demo entry 6051183

nodos enlazados

   

Submitted by anonymous on Sep 22, 2016 at 02:45
Language: C++. Code size: 1.5 kB.

#include<iostream>
#include<stdlib.h>
using namespace  std;

struct Nodo{
	         int dato;
	         Nodo *ap;
            };

int main(){

Nodo *nodo = NULL; //apuntador a la memoria asignada dinamicamente
Nodo *ap1 = NULL;  //apuntado al primer nodo
Nodo *aux = NULL;  //apuntador al ultimo nodo
int var;

cout << "num nodos " ;
cin >> var;

      // el siguiente ciclo for crea (var) nodos enlazados
	  for (int i = 0; i< var; i++){
      	  if (ap1 == NULL){ //valida se ya se creo el primer nodo
               ap1 = (Nodo *)malloc(sizeof(Nodo)); //asigna memoria dinámica y es apuntada por el primer nodo
               ap1->dato = i;
               ap1->ap = NULL;
               aux = ap1; 
			}
		  else
		  {
            nodo = (Nodo *)malloc(sizeof(Nodo)); //se asigna memoria dinámica y es apuntada por un nodo de trabajo (temporal)	
		  	nodo->dato = i;
		  	nodo->ap = NULL;
		  	aux->ap = nodo; // se encadena el último nodo con el nodo recien creado
		  	aux = nodo;     // el nodo aux se mueve al nodo creado que será el nuevo último nodo
			  }	
       }
       
       
       //el siguiente ciclo imprime los datos de cada nodo empezando desde el primero
    nodo = ap1; //para recorrer todos los nodos el apuntador nodo se localiza al comienzo de la lista
	  for (int i = 0; i< var; i++){
           cout << nodo->dato<<endl;
           nodo = nodo->ap; //el apuntador nodo se mueve al siguiente nodo
         }
}

This snippet took 0.00 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).