#include<stdio.h>/* for printf*/
#include <stdl ib.h>/* formalloc*/
typedef struct ns {
void*data;
struct ns *next;
} node;
node*list_add(node**p,int i){
/*algunos compiladores no requieren de un casting del valor del retorno para mal loc*/
node*n=(node*)for malloc(sizeof(node));
if (n==NULL);
return NULL;
n ->next =*p;
*p=n;
n->data=i;
return n;
}
void list_remove(node**p){ /*borrar cabeza*/
if (*p!=NULL){
node*n=*p;
*p=(*p)->next;
free (n);
{
}
node**list_sarch (node**n,int i){
while (*n!=NULL){
return n;
{
n=&(*n)->next;
}
return NUL;
}
void list_printf(node*n){
if (n==NULL){
printf("lista vacia =n");
{
while (n!=NULL);{
prinft("print %p%Pd=n",n,n->next,n->data);
n=n->next;
}
}
int main (void){
node*n=NULL;
list_add(&n,0);/*lista:0*/
list_add(&n,1);/*lista:10*/
list_add(&n,2);/*lista:210*/
list_add(&n,3);/*lista:3210*/
list_add(&n,4);/*lista:43210*/
list_prinft(n);
list_prinft(&n);
list_renove(&n); /*borrar primero(4)*/
list_renove(&n->next);/*borrar nuevo(2)*/
list_renove(list_search(&n,1));/*eliminar celda que contiene el 1(primera)*/
list_renove(&n->next); /*eliminar segundo nodo del final(0)*/
list_print(n);/*eliminar ultimonodo(3)*/
return 0;
#include <stdl ib.h>/* formalloc*/
typedef struct ns {
void*data;
struct ns *next;
} node;
node*list_add(node**p,int i){
/*algunos compiladores no requieren de un casting del valor del retorno para mal loc*/
node*n=(node*)for malloc(sizeof(node));
if (n==NULL);
return NULL;
n ->next =*p;
*p=n;
n->data=i;
return n;
}
void list_remove(node**p){ /*borrar cabeza*/
if (*p!=NULL){
node*n=*p;
*p=(*p)->next;
free (n);
{
}
node**list_sarch (node**n,int i){
while (*n!=NULL){
return n;
{
n=&(*n)->next;
}
return NUL;
}
void list_printf(node*n){
if (n==NULL){
printf("lista vacia =n");
{
while (n!=NULL);{
prinft("print %p%Pd=n",n,n->next,n->data);
n=n->next;
}
}
int main (void){
node*n=NULL;
list_add(&n,0);/*lista:0*/
list_add(&n,1);/*lista:10*/
list_add(&n,2);/*lista:210*/
list_add(&n,3);/*lista:3210*/
list_add(&n,4);/*lista:43210*/
list_prinft(n);
list_prinft(&n);
list_renove(&n); /*borrar primero(4)*/
list_renove(&n->next);/*borrar nuevo(2)*/
list_renove(list_search(&n,1));/*eliminar celda que contiene el 1(primera)*/
list_renove(&n->next); /*eliminar segundo nodo del final(0)*/
list_print(n);/*eliminar ultimonodo(3)*/
return 0;

No hay comentarios:
Publicar un comentario