Código fuente de lista enlazada
#incluye ltiostream gt
¿Usar? ¿Espacio de nombres? estructura estándar
? ¿nodo?
{?
int? a;?
¿Nodo? *?Próximo;?
};
int? norte;? //Número de nodos en la lista enlazada
¿Nodos? *?creat()?
{?
estructura? ¿nodo? *?l;?
estructura? ¿nodo? *?p 1;?
n=0;?
L=? ¿Nuevo? Nodo;
p1=? ¿Nuevo? Node;
cout lt lt"Ingrese un número entero y presione la tecla Enter, ingrese 0 y luego presione la tecla Enter para finalizar la entrada". gtp 1->a;?
l- gt; next = NULL
mientras(p 1->; respuesta!=0)//a=0 salir?
{
n;?
si(n==1)?
l- gt; siguiente = p 1;?
p 1->siguiente=nuevo? nodo;?
CIN gt;gtp 1->Siguiente - gt;a;?
p 1 = p 1->; next;
}?
p 1->; next = NULL // Señala el final de la lista enlazada. a nulo?
retorno(L);?
}
¿Anulado? Print (node?*?L)//Debido a que los parámetros reales pasados son tipos de puntero, los parámetros formales también deben definirse como tipos de puntero.
{?
¿Nodo? *pag;?
cout lt lt" \nLos datos de entrada son "
p = L- gt;
Y (p!=NULL)?
{?
cout lt ltp->;a lt ltendl?
p = p- gt; siguiente;?
}
}
¿Nulo? Insertar (nodo?*?l, int?I, int?e)
{
¿Nodo? *p, *temp
int? j;
p = L- gt; siguiente;
for(j = 1; j lti? amp amp?p! = NULLj )
p = p-gt; siguiente;?
Si (i gtj)
{
cout lt lt"Solo lista vinculada"
Regresar;
}
temp = p- gt;siguiente;
p->;siguiente=nuevo? Nodo;
p->; siguiente - gt; a = e;
p = p-gt; siguiente
p->;
n;?
}
int? principal()?
{?
¿Nodo? *?l; //Dado que la función creat() devuelve un puntero a una estructura, ¿debería definirse como una variable de puntero que apunta a una estructura?
l = crear();?
Imprimir (izquierda);
Insertar (L, 3, 3);
Imprimir (izquierda);
¿Volver? 0; // Inserte el nodo con valor e en la posición I-ésima de la lista enlazada individualmente con l como nodo principal.
? ¿Implementar # include
usando? ¿Espacio de nombres? estructura estándar
? ¿nodo?
{?
int? a;?
¿Nodo? *?Próximo;?
};
int? norte;? //Número de nodos en la lista enlazada
¿Nodos? *?creat()?
{?
estructura? ¿nodo? *?l;?
estructura? ¿nodo? *?p 1;?
n=0;?
L=? ¿Nuevo? Nodo;
l- gt; siguiente = NULL
p1=? ¿Nuevo? Node;
cout lt lt"Ingrese un número entero y presione la tecla Enter, ingrese 0 y luego presione la tecla Enter para finalizar la entrada". gtp 1->a;?
mientras(p 1->; Respuesta?!=0)//a=0 ¿salir?
{
n;?
si(n==1)?
l- gt; siguiente = p 1;?
p 1->siguiente=nuevo? nodo;?
CIN gt;gtp 1->Siguiente - gt;a;?
if(p 1->; siguiente - gt; a==0)
descanso
p 1 = p 1->; /p>
}
p 1->;next = NULL//¿Apuntar el final de la lista vinculada a nulo?
retorno(L);?
}
¿Anulado? Imprimir(nodo?*?l)
{?
¿Nodo? *pag;?
cout lt lt" \nLos datos de entrada son "
p = L- gt;
Y (p!=NULL)?
{?
cout lt ltp->;a lt ltendl?
p = p- gt; siguiente;?
}
}
¿Nulo? Insertar (nodo? *? l, int? I, int? E) //i: el nodo I-ésimo, donde e es el valor insertado.
{
¿Nodo? *p, *temp
int? j;
p = L;
for(j = 0; j lt i? amp amp? p->; siguiente?! = NULLj )
p = p- gt; siguiente;?
Si (i gtj)
{
cout lt lt"Solo lista vinculada"
Regresar;
}
temp = p- gt;siguiente;
p->;siguiente=nuevo? Nodo;
p->; siguiente - gt; a = e;
p = p-gt; siguiente
p->;
n;?
}
int? principal()?
{?
¿Nodo? *?l;
l = crear();?
Imprimir (izquierda);
Insertar (L, 3, 4);
Imprimir (izquierda);
¿Volver? 0;
}