# include <stdio.h>
# include <stdlib.h>
struct element
{
int podatak;
struct element *sledeci;
};
/* funkcija za dodavanje novog elementa na kraj liste */
struct element *dodaj(struct element *p, int n)
{
struct element *pom;
/* ako je postojeca lista prazna onda se dodaje novi element kao pocetni */
if(p==NULL)
{
/* kreiranje novog elementa */
p=(struct element *)malloc(sizeof(struct element));
if(p==NULL)
{
printf("Greska.\n");
exit(0);
}
/* novom elementu se dodeljuje prosledjeni podatak */
p‐>podatak = n;
p‐>sledeci = NULL;
}
else
{
pom = p;
/* prolazi se kroz postojecu listu da bi se dobio pokazivac na poslednji element */
while (pom‐>sledeci != NULL)
pom = pom‐>sledeci;
/* kreiranje novog elementa */
pom‐>sledeci = (struct element *)malloc(sizeof(struct element));
if(pom‐>sledeci == NULL)
{
printf("Greska.\n");
exit(0);
}
/* novom elementu se dodeljuje prosledjeni podatak, a njegova adresa se upisuje kao link
prethodnog elementa */
pom = pom‐>sledeci;
pom‐>podatak = n;
pom‐>sledeci = NULL;
}
return (p);
}
/* funkcija za stampanje liste */
void stampaj_listu( struct element *p )
{
struct element *pom;
pom = p;
if(p!= NULL)
{
do
{
printf("%d\t",pom‐>podatak);
pom=pom‐>sledeci;
} while (pom!= NULL);
printf("\n");
}
else printf("Lista je prazna.");
printf("\n");
}
void main()
{
int n,i;
int x;
struct element *glava = NULL ;
printf("Unesi broj elemenata u listi:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf( "Unesi %d. element:\n", i+1);
scanf("%d",&x);
glava = dodaj( glava, x );
}
printf("Kreirana lista je:\n");
stampaj_listu( glava );
}
<=Nazad <Pocetak>