Red de conocimiento informático - Consumibles informáticos - Código fuente de datos de lista vinculada

Código fuente de datos de lista vinculada

Vea si esto funciona.

#include<iostream>

¿Usar? ¿Espacio de nombres? estructura estándar

? ¿nodo?

{?

int? a;?

¿Nodo? *?Próximo;?

};

int? norte;? //Número de nodos en la lista enlazada

¿Nodos? *?crear()?

{?

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!"& lt& ltendl

CIN >>p 1->a?

l-& gt;next = NULL

while(p 1->;answer!=0)//a=0 ¿salir?

{

n++;?

si(n==1)?

l-> siguiente = p 1;?

p 1->siguiente=nuevo? nodo;?

CIN>>p 1->Siguiente->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->Siguiente;?

}

}

¿Nulo? Insertar (nodo?*?l, int?I, int?e)

{

¿Nodo? *p, *temp

int? j;

p = L-& gt;Next;

for(j = 1;j<i?&&?p!= NULLj++)

p = p ->Siguiente;?

Si (i & gtj)

{

cout & lt& lt"Solo lista enlazada"

Regresar;

}

temp = p->siguiente;

p->siguiente=nuevo? Nodo;

p->;Siguiente->a = e;

p = p->Siguiente;

p-> ;siguiente = temp

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-> 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!"& lt& ltendl

CIN >>p 1->a?

mientras(p 1->; Respuesta?!=0)//a=0 ¿salir?

{

n++;?

si(n==1)?

l-> siguiente = p 1;?

p 1->siguiente=nuevo? nodo;?

CIN>>p 1->Siguiente->a?

if(p 1->; siguiente-> a==0)

descanso;

p 1 = p 1->;

}

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->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 & lti?& amp& amp?p->; siguiente?! = NULLj++)

p = p->Siguiente;?

Si (i & gtj)

{

cout & lt& lt"Solo lista enlazada"

Regresar;

}

temp = p->siguiente;

p->siguiente=nuevo? Nodo;

p->;Siguiente->a = e;

p = p->Siguiente;

p-> ;siguiente = temp

n++;?

}

int? principal()?

{?

¿Nodo? *?l;

l = crear();?

Imprimir (izquierda);

Insertar (L, 3, 4);

Imprimir (izquierda);

¿Volver? 0;

}