Red de conocimiento informático - Computadora portátil - Lenguaje C ¿Cuál es el código para insertar una lista enlazada individualmente?

Lenguaje C ¿Cuál es el código para insertar una lista enlazada individualmente?

Inserte un nodo con valor n en la posición i en la lista enlazada individualmente dada.

#include lt; stdio.hgt;

#include lt; malloc.hgt

#define N 5

typedef; elemtype;

typedef struct node

{

elemtype datos;

struct node *next;

} lista de enlaces;

lista de enlaces *Creatlist(lista de enlaces*L){

L=(lista de enlaces*)malloc(sizeof(lista de enlaces));

L-gt; next=NULL;

Devuelve L

}

int Judge(lista de enlaces *L){

if(L-gt; next==NULL)

{

printf("Construyendo la tabla correctamente...\n");

}

else

printf("Error al crear la tabla.\n");

return 0

}

int Entrada(lista de enlaces *; L, int x, lista de enlaces *r){

int i;

lista de enlaces *p

p=(lista de enlaces*)malloc( sizeof(lista de enlaces) );

p-gt; datos=x;

p-gt; siguiente=NULL

r-gt; >

printf("d ", p-gt; datos);

return 0;

}

int Insert1(lista de enlaces *L, int i){

lista de enlaces *p, *q, *r, *t;

int j=1, elemento;

p=L-gt; siguiente;

q=L;

r=L

if(L-gt; siguiente==NULL)

{

printf("Tabla vacía.\n");

return 0

}

else

{

mientras(p! =NULLamp;amp;jlt;i)

{

q=p;

p=p-gt;siguiente;

j ;

}

if(p==NULL)

{

printf("d está fuera del rango de la tabla .\n");

devuelve 0;

}

más

{

t=( lista de enlaces*)malloc(sizeof(lista de enlaces));

t-gt; next=NULL;

printf(" Ingrese el elemento:

); scanf("d",amp;item);

>

t-gt; datos=elemento;

t-gt; siguiente=p;

q-gt;

printf("insertar el valor de d en el bit dth insertar todos los datos después del nodo con valor d es \n",i,item);

for(j=0;jlt; N 1; j )

{

r=r-gt;siguiente;

printf("d ",r-gt;datos); p>

}

p> printf("\n");

devuelve 1; }

int main()

{

int i, elemento, k

lista de enlaces *L, *r; p>

printf("Lista enlazada unidireccional de creación (incluida la inicialización) y salida\n");

L=Creatlist(L);

Judge(L);

p>

printf("Los datos de la tabla son: ");

r=L

Entrada(L, 11, r); /p>

r=r-gt. Siguiente paso;

Entrada (L, 32, r);

r=r-gt; >

Entrada (L, 17, r);

r=r-gt; Siguiente paso

Entrada (L, 46, r><); p> r= r-gt; siguiente paso;

r=r-gt; siguiente paso;

entrada (L, 9, r); r=r- gt; next;

printf("\n");

printf("Insertando nodo \n con elemento de valor en la posición i de la tabla vinculada individualmente" );

p>

printf("Ingrese i:");

scanf("d", y

Insert1(L, i);

devuelve 0;

}

Inserta un nodo con valor n antes del nodo con valor m en la lista enlazada individualmente dada

#include lt; stdio.hgt;

#include lt; malloc.hgt

#define N 5

typedef int elemtype;

p>

typedef struct node

{

elemtype datos;

struct node *next;

}linklist;

lista de enlaces *Creatlist(lista de enlaces*L){

L=(lista de enlaces*)malloc(sizeof(lista de enlaces));

L-gt.next=NULL;

devuelve L;

}

int Judge(lista de enlaces *L){

if(L-gt; next==NULL)

{

printf("Construyendo la tabla correctamente... \n");

}

else

printf("Error al crear la tabla.\n" );

return 0;

}

int Entrada(lista de enlaces *L, int x, lista de enlaces *r){

int i;

lista de enlaces *p;

p=(lista de enlaces*)malloc( tamaño de(lista de enlaces)); /p>

p-gt; siguiente=NULL;

r-gt; siguiente=p;

printf("d ", p-gt; datos); /p>

return 0;

}

int Insert2(lista de enlaces *L, int elemento){

lista de enlaces *p, *q, * r, *t;

int j=1,m;

p=L-gt;

r=L; p> q=L;

if(L-gt; next==NULL)

{

printf("Tabla vacía.\n");

devuelve 0;

}

más

{

mientras (p!=NULL) p>

{

if(p-gt; data!=item)

{

q=p;

p =p-gt; siguiente;

}

más

romper

}

if( p==NULL)

{

printf("d está fuera del rango de la tabla.\n");

return 0;

}

else

{

t=(lista de enlaces *)malloc(sizeof(lista de enlaces));

t -gt; next=NULL;

printf(" Introduzca m: ​​"

scanf("d", amp; m); > t -gt; datos=m;

q-gt; siguiente=t;

t-gt; >

}

printf("Insertar un nodo con valor d el nodo con valor d se inserta delante de un nodo con valor n después de que todos los datos sean\n", item, m

); p>

for(j=0;jlt;N 1;j)

{

r=r-gt;siguiente;

printf( "dr

-gt; datos);

}

printf("\n");

devuelve 1; >

int main()

{

int i, elemento, k

lista de enlaces *L, *r; > printf("Creación de lista de enlaces unidireccionales (incluida la inicialización) y salida \n");

L=Creatlist(L);

Judge(L); p> printf("Los datos de la tabla son: ");

r=L

Entrada(L, 11, r); =r-gt; siguiente;

Entrada(L, 32, r);

r=r-gt; siguiente

Entrada (L, 17) , r);

r=r-gt; siguiente;

Entrada (L, 46, r);

r=r-gt;

Entrada (L, 9, r);

r=r-gt;

printf("\n");

printf("Insertar un nodo con valor m delante del nodo con valor de elemento en la tabla vinculada individualmente\n");

printf("Ingrese el elemento:");

scanf("d", amp; artículo);

Insertar2(L, artículo

retorno

}