Ayúdame a usar el lenguaje C para escribir las operaciones de establecimiento, inserción y eliminación de una lista enlazada individualmente en una estructura de datos. Solo escribe estas tres operaciones.
#includelt; stdio.hgt;
#includelt; malloc.hgt
typedef struct Nodo //definir nodo
{
int data; //pueden ser otros tipos
struct Node *next;
}Lista;
void create(struct Node *amp; L, int a[], int n) //Crear, L es el encabezado de la lista enlazada, a es la matriz a insertar, n es el número de elementos a insertar
{
Lista *s;
int i;
L=(Lista *)malloc(sizeof(Lista)); L-gt; siguiente=NULL;
for(i=0;ilt;n;i)
{
s=(Lista *)malloc( sizeof(Lista));
p>
s-gt;data=a[i];
s-gt;next=L-gt;next; p>
L-gt;next=s;
}
}
int insert(Lista *amp; L, int i, int e ) // Insertar, i es la posición de inserción, e es la inserción El valor de
{
int j=0
List *p=L; , *s;
mientras(jlt;i -1amp;amp;p!=NULL)
{
j;
p=p-gt;siguiente;
}
if(p==NULL)
devuelve 0
else ; p>
{
s=( Lista *)malloc(sizeof(Lista));
s-gt;data=e;
s -gt;siguiente=p-gt;siguiente;
p-gt; siguiente=s
return 1; >}
int delete(List *amp; L, int i, int amp; e) //i es la posición del elemento a eliminar, e guarda el valor del elemento eliminado
{
int j=0;
Lista *p=L, *q;
while(jlt;i-1amp;amp; p!=NULL)
{
j;
p=p-gt;siguiente;
}
if(p==NULL)
return 0;
else
{
q=p-gt;
if(q==NULL)
return 0;
e=q-gt;data;
p-gt; next=q-gt;siguiente;
gratis(p);
devolver 1;
}
}