Red de conocimiento del abogados - Ley de patentes - Estructura de datos creación de lista enlazada individualmente imprimir eliminar insertar consulta informe del experimento

Estructura de datos creación de lista enlazada individualmente imprimir eliminar insertar consulta informe del experimento

Compilado por 1.c

#include lt; iostreamgt;

usando el espacio de nombres std

typedef struct node

{

datos de caracteres;

nodo de estructura *siguiente;

}enlace

enlace * get(enlace *l; , int i)

{

enlace *p; int j=0;

p=l

mientras((jlt; ; i) amplificador; (p-gt; siguiente!=NULL))

{p=p-gt; siguiente;}

if(j==i )

return p;

else

return NULL

}

enlace * ins (enlace *; l, char ch, int i)

{ enlace *p, *s;

p=get(l, i-1);

if( p==NULL)

coutlt;lt;"Entrada incorrecta"lt;lt;endl;

else

{

s =(enlace *)malloc(sizeof(enlace));

s-gt;data=ch;

s-gt;next=p-gt;next;

p>

p-gt; siguiente=s;

}

retorno

}

enlace * buscar( enlace *l, char ch)

{

enlace *p; int i=0; int j=0; ;

while(p!=NULL)

{ i ;

if(p-gt; data!=ch)

p=p- gt;next;

else {coutlt;lt;"Los datos que estás buscando están en la posición "lt;lt;i-1lt;lt;"."lt;lt; endl;

j=1; p=p-gt; siguiente;

}

}

si(j!=1 )

coutlt;lt;"Los datos que buscas no están en la tabla lineal."lt;lt;endl;

return l;

}

enlace * del(enlace *l, int i)

{

enlace *p, *s

p= get(l, i-1);

if(p==NULL)

coutlt;lt;"Entrada incorrecta"lt;lt;endl;

else

{

s=p-gt; siguiente

p-gt; siguiente=s-gt; > gratis(s);

p>

}

return l;

}

enlace * agregar(enlace * l)

{

l

ink *p, *s;

coutlt; "Ingrese una cadena de datos de un solo carácter, que termine con *!"

char ch;

p>

enlace *HEAD;

enlace *R, *P, *L;

HEAD=( enlace *)malloc(sizeof(enlace));

HEAD-gt; next=NULL

R=HEAD

getchar(); p>

ch=getchar();

while(ch!='*')

{

P=(enlace *)malloc( tamaño de (enlace));

P -gt; datos=ch; siguiente=NULL

R-gt; siguiente;

getchar();

ch=getchar();

}

L=HEAD; p> coutlt;lt; "La tabla lineal de entrada actual es: "lt;lt;endl;

P=L;P=P-gt;next;

if(L !=NULL)

hacer

p>

{coutlt;lt;P-gt;datalt;lt;" ";

P=P-gt; siguiente;

}mientras(P!=NULL );

coutlt; endl; (p-gt; siguiente!=NULL)

p=p-gt; siguiente

s=L

p-gt; -gt; siguiente;

p=l;

devolver l;

}

enlace * imprimir(enlace *l)

{ int i, k;

char ch;

link *p, *q;

coutlt;lt;"La corriente la tabla lineal es: "lt;lt;endl;

p=l;p=p-gt;next;

if(l!=NULL)

hacer

{coutlt;lt;p-gt ;datalt;lt;" ";

p=p-gt;next;

}mientras( p!=NULL);

coutlt;lt; endl;

coutlt;lt;"Seleccione la operación que desea:";

coutlt;lt ;" 1. Insertar";

coutlt;lt ;" 2. Buscar";

coutlt;lt; " 3. Eliminar

coutlt; lt; " 4. Fusionar";

coutlt; "0, salir";

lt; ;

if (k==1)

{

coutlt;lt;"Ingrese el valor de datos que desea insertar:";

cingt;gt;ch;

coutlt ;lt;"Ingrese la ubicación que desea insertar:";

c

ingt; gt;

p=ins(l, ch, i

q=print(l);

else if(k==2)

{

coutlt;lt;"Ingrese el valor de datos que está buscando:";

cingt ;gt;ch;

p=find(l,ch);

q=print(l);

}

else if(k==3)

{

coutlt;lt;"Ingrese la ubicación de los datos que desea eliminar:";

cingt;gt ;i;

p=del(l,i);

q=print(l);

}

si (k==4)

{ p=add(l);

q=print(l);

}

;

else if(k==0)

;

else

{coutlt;lt;"Error de entrada!"lt;lt;endl;

q=print(l);}

return l;

}

int main()

{

coutlt;lt;"Ingrese una cadena de datos de un solo carácter, que termine en *!"lt;lt;endl;

char

//enlace *head;

enlace *r, *p, *q, *l;

l=(enlace *)malloc(sizeof(enlace));

l-gt; siguiente=NULL

r=l;

ch=getchar()

// getchar();

while(ch!='*')

{

p=(enlace *)malloc(sizeof(enlace));

p-gt; datos=ch; p-gt; siguiente=NULL;

r-gt; =getchar();

// getchar();

}

//l=cabeza

q=print( l);

p>

return 0;

}

lenguaje 2.C

#include stdio. hgt;

#include lt; malloc.hgt;

#define N 8

nodo de estructura typedef

{int data; /p>

estructura nodo *siguiente;

}nodo;

nodo * creal()

{

nodo * p, *s, *h;

int j=1, x;

p=s=h=(nodo*)malloc(tamañode(nodo)); >

h-gt; next=NULL;

printf("ingrese los datos en cr

come la lista, termina con -1 o d números\n", N);

while(x!=-1amp;amp;jlt;=N)

{ p>

printf("número d:", j

scanf("d", amp;

s=(nodo*)malloc); (tamaño de (nodo));

s-gt; datos=x

if(h-gt; next==NULL)

h-gt; ; siguiente = s;

más

p-gt; siguiente = s;

p=s

j ; p>

}

p-gt; next=NULL;

return h;

}

int acceso(nodo) *h , int i)

{

nodo *p; int j=1

p=h-gt; >

while(p!=NULL)

{

if(p-gt; data==i)

break

p =p-gt; siguiente;

j

}

if(p!=NULL)

{

printf("busca el número en la posición: d\n", j

return(p-gt; data

}

else

{

printf("¡No puedo encontrar el número en la lista!\n");

return -1;

}

}

void insertsl(nodo *h, int i)

{

nodo *p, *t ;

int j=1;

p=h-gt; siguiente ;; =NULL)

{

p=p-gt;

j; t=(nodo*) malloc(tamaño de(nodo));

t-gt; datos=i;

t-gt; p>

p -gt; next=t;

printf("insertar éxito en la posición d\n", j 1); >void deletesl(nodo * h, int i)

{

nodo *p, *s, *q

int j=1;

p =h;

while(p-gt; siguiente!=NULL)

{

q=p-gt; siguiente;

if(q-gt;data==i)

romper

;

p=p-gt; siguiente

j

}

si(p-gt; siguiente==NULL )

{

printf("No puedo encontrar el número que desea eliminar.\n");

return

}

else

{

s=p-gt; siguiente

p-gt; siguiente;

free(s);

printf("eliminar con éxito en la posición d\n", j 1); p>}

void print(nodo ​​*h)

{

printf("\nimprime todos los datos de la lista: ") ;

nodo *s;

s=h-gt; siguiente

if(s!=NULL)

{

while(s!=NULL)

{

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

s=s-); gt; siguiente;

}

}

else

printf("¡la lista está vacía!d"); >

printf("\n");

}

int main()

{

nodo *p;

int main()

{

nodo *p

p>

int a

p; =createsl();

printf("\nnecesitas encontrar el número:\n");

scanf("d", & a

access(p, a);

printf("\npor favor ingrese el número que desea insertar:\n");

scanf("d",amp;a) ;

insertsl(p,a);

printf("\ningrese el número que desea eliminar:\n"); d", amp; a);

eliminal(p, a);

print(p);

devuelve 0;

}