Vous êtes sur la page 1sur 6

57.

Napisati funkciju za dodavanje elemenata na stog realiziran


statikim nizom.
int dodaj(int clan,int stog[],int n,int *vrh)
{
if (*vrh>=n-1)
return 0;
(*vrh)++;
stog[*vrh]=clan;
return 1;
}
58.Napisati funkciju za dodavanje elemenata niza na stog realiziran
dinamikom strukturom.
atom *dodaj(atom *vrh,int vrijednost)
{
atom *novi;
if((novi=(atom*)malloc(sizeof(atom)))!=NULL);
{
novi->vrijednost=vrijednost;
novi->sljedeci=vrh;
}
}
59.Napisati funkciju za dodavanje elemenata u red realiziran statikim
nizom.
int dodaj(tip clan,tip red[],int n,int izlaz,int *ulaz)
{
if(((*ulaz+1)%n)==izlaz)
return 0;
(*ulaz)++;
*ulaz%=n;

red[*ulaz]=clan;
return 1;
}
60.Napisati funkciju za dodavanje elemenata na stog realiziran
dinamikom strukturom.
int dodaj (int vrijednost,atom **ulaz,atom **izlaz)
{
atom *novi;
if(novi=malloc(sizeof(atom)))
{
novi->vrijednost=vrijednost=vrijednost;
novi->sljedeci=NULL;
if(*izlaz==NULL)
*izlaz=novi;
else
(*ulaz)->sljedeci=novi;
*ulaz=novi;
return 1;
}
return 0;
}
61.Skicirati dodavanje elemenata na stog realiziran statikim nizom.
62.Skicirati dodavanje elemenata na stog realiziran dinamikom
strukturom.
63.Skicirati dodavanje elemenata u red realiziran statikim nizom.
64.Skicirati dodavanje elemenata u red realiziran dinamikom
strukturom.
65.Napisati funkciju za dodavanje elemenata u jednostruko povezanu
dinamiku listu.
int dodaj(atom **glavap,tip vrijednost)

{
atom *novi,*p;
if((novi=(atom*)malloc(sizeof(atom)))==NULL) return 0;
novi->vrijednost=vrijednost;
if(*glavap==NULL||(*glavap)->vrijednost>=vrijednost)
{
novi->sljedeci=*glavap;
*glavap=novi;
}
else
{
for(p=*glavap;p->sljedeci&&(p->sljedeci)>vrijednost<vrijednost;p=p->sljedeci);
novi->sljedeci=p->sljedeci;
p->sljedeci=novi;
}
return 1;
}
66.Napisati funkciju za dodavanje elemenata u dvostruko povezanu
dinamiku listu.
67.Napisati funkciju za ispis elemenata jednostruko povezane
dinamike liste.
void ispisi(atom *glava)
{
atom *p;
printf("\nAdresa\t\tClan\tSljedeci\n");
for(p=glava;p!=NULL;p=p->sljedeci)
printf("%p\t%d\t%p\n",p,p->vrijednost,p->sljedeci);
}

68.Napisati funkciju za ispis elemenata dvostruko povezane dinamike


liste.
69.Napisati funkciju za pretragu jednostruko povezane dinamike liste.
atom *trazi(atom *glava,tip vrijednost)
{
atom *p;
for(p=glava;p!=NULL;p=p->sljedeci)
if(p->vrijednost==vrijednost)
return p;
return NULL;
}
70. Napisati funkciju za pretragu dvostruko povezane dinamike liste.
71.Skicirati dodavanje elemenata u jednostruko povezanu listu.
72.Skicirati dodavanje elemenata u dvostruko povezanu listu.
73.Napisati funkciju za dodavanje elemenata u sortirano binarno stablo.
struct cvor* dodaj(struct cvor*,tip elem)
{
if(cvor==NULL)
return(NoviCvor(elem));
else
{
if(elem<=cvor->podatak)
cvor->lijevo=dodaj(cvor->lijevo,elem);
else
cvor->desno=dodaj(cvor->desno,elem);
return (cvor);
}
}
struct cvor* NoviCvor(int elem)

{
struct cvor* novi=(cvor*)malloc(sizeof(struct cvor));
novi->podatak=elem;
novi->lijevo=NULL;
novi->desno=NULL;
return (cvor);
}
74.Napisati funkciju za inorder ispis binarnog stabla.
75.Napisati funkciju za preorder ispis binarnog stabla.
76.Napisati funkciju za postorder ispis binarnog stabla.
77.Napisati funkciju za pretragu binarnog stabla.
int trazi(struct cvor* cvor,int trazeno)
{
if(cvor==NULL) return 0;
else if(trazeni==cvor->podatak) return 1;
else
{
if(trazeno<cvor->podatak)
return(trazi(cvor->lijevo,trazeno));
else
return(trazi(cvor->desno,trazeno));
}
}
78.Skicirati dodavanje elemenata (1 po 1 na odvojenim crteima) u
binarno stablo redoslijedom: 5 2 8 4 6 3 1.

79.Skicirati dodavanje elemenata (1 po 1 na odvojenim crteima) u


gomilu redoslijedom: 5 8 3 1 6 9 4.

80.Nacrtati proizvoljan graf i napisati njegove skupove vrhova i ivica.


81.Nacrtati proizvoljan graf i napisati njegovu matricu susjedstva.
82.Nacrtati proizvoljan graf i napisati njegovu listu susjedstva.

Vous aimerez peut-être aussi