Lenguaje C ¿Cuál es el código para insertar una lista enlazada individualmente?
#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>
}
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; p>
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> 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
}