include

Anuncio
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
typedef struct element
{
int valor;
element *seguent;
} elementpila;
void fafegir(void);
void fborrar(void);
void frecorrer(void);
elementpila *inici=NULL,*borrar,*nouelement,*rec,*fi;
int main()
{
int opcio=0;
while (opcio!=4)
{
printf ("Escull opciÛ 1. Afegir, 2. Esborrar, 3. Llistar, 4. Sortir");
scanf("%i",&opcio);
switch(opcio)
{
case 1:
fafegir();
break;
case 2:
fborrar();
break;
case 3:
frecorrer();
break;
case 4:
break;
default:
printf("Cal escollir alguna opciÛ correcte (1-4)!");
}
}
}
void fafegir(void)
{
if (inici==NULL)
{
nouelement=(elementpila *)malloc(sizeof(elementpila));
printf("Entra el valor de l'element: ");
scanf("%i",&nouelement->valor);
inici=nouelement;
fi=nouelement;
nouelement->seguent=NULL;
}
else
{
nouelement=(elementpila *)malloc(sizeof(elementpila));
printf("Entra el valor de l'element: ");
scanf("%i",&nouelement->valor);
nouelement->seguent=inici;
inici=nouelement;
}
}
void fborrar(void)
{
if (fi==NULL)
{
printf("La pila est‡ buida!");
}
else
{
if(inici==fi)
{
printf("El valor que borrem Ès: %i",inici->valor);
free(inici);
inici=NULL;
fi=NULL;
}
else
{
borrar=fi;
rec=inici;
while (rec->seguent!=fi)
{
rec=rec->seguent;
}
fi=rec;
fi->seguent=NULL;
printf("El valor que borrem Ès: %i",borrar->valor);
free(borrar);
}
}
}
void frecorrer(void)
{
rec=inici;
while (rec!=NULL)
{
printf("%i\n",rec->valor);
rec=rec->seguent;
}
}
Descargar