Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- typedef struct cvor * POKAZIVAC;
- typedef struct cvor{
- int podatak;
- POKAZIVAC sledeci;
- }CVOR;
- void ubaci_na_pocetak(POKAZIVAC * glava,int podatak){
- POKAZIVAC novi;
- novi=(POKAZIVAC)malloc(sizeof(CVOR));
- novi->podatak=podatak;
- novi->sledeci=NULL;
- if(*glava==NULL)
- *glava=novi;
- else{
- novi->sledeci=*glava;
- *glava=novi;
- }
- }
- void prikazi_listu(POKAZIVAC glava){
- if(glava==NULL)
- printf("\nLista je prazna");
- else{
- while(glava!=NULL){
- printf("%5d",glava->podatak);
- glava=glava->sledeci;
- }
- }
- printf("\n");
- }
- POKAZIVAC vrati_zeljeni_cvor(POKAZIVAC glava, int podatak){
- POKAZIVAC tek=glava;
- while(tek!=NULL && tek->podatak!=podatak)
- tek=tek->sledeci;
- return tek;
- }
- void izbaci_zeljeni_cvor(POKAZIVAC * glava, POKAZIVAC zeljeni){
- POKAZIVAC cvor_za_izbacivanje=zeljeni;
- POKAZIVAC tek=*glava;
- if((*glava)==NULL || cvor_za_izbacivanje==NULL )
- return;
- if(*glava==cvor_za_izbacivanje)
- *glava=(*glava)->sledeci;
- else{
- while(tek->sledeci!=cvor_za_izbacivanje)
- tek=tek->sledeci;
- tek->sledeci=cvor_za_izbacivanje->sledeci;
- }
- free(cvor_za_izbacivanje);
- }
- int vrati_poziciju_za_zeljeni_cvor(POKAZIVAC glava, int podatak){
- int i=1;
- POKAZIVAC tek=glava;
- while(tek!=NULL && tek->podatak!=podatak){
- tek=tek->sledeci;
- i=i+1;
- }
- return i;
- }
- int main(){
- int pozicija;
- POKAZIVAC glava=NULL;
- POKAZIVAC zeljeni;
- zeljeni=vrati_zeljeni_cvor(glava,3);
- ubaci_na_pocetak(&glava,8);
- ubaci_na_pocetak(&glava,3);
- ubaci_na_pocetak(&glava,9);
- ubaci_na_pocetak(&glava,7);
- prikazi_listu(glava);
- /*zeljeni=vrati_zeljeni_cvor(glava,3);
- izbaci_zeljeni_cvor(&glava,zeljeni);
- prikazi_listu(glava);*/
- pozicija=vrati_poziciju_za_zeljeni_cvor(glava,8);
- printf("\nTrazeni cvor je na poziciji %d",pozicija);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement