Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct cvor
- {
- int inf;
- struct cvor *sledeci;
- }TCVOR;
- int unoselementa(TCVOR **phead,int el,int pos)
- {
- TCVOR *temp;
- TCVOR *novi;
- int brojac=1;
- int i;
- temp=*phead;
- while(temp!=NULL)
- {
- brojac++;
- temp=temp->sledeci; // prolaz kroz listu,ostaje nam jos da proverimo da li je pozicija validna
- }
- if(pos>=1 && pos<=brojac) //uneta ok pozicija ->dozvoljen rad
- {
- //----------------------------------------------
- //alociranje memorije za novi element,pokazivac novi je pokazivac na strukturu
- novi=(TCVOR*)malloc(sizeof(TCVOR));
- //inicijalizacija novoalociranog elementa
- novi->inf=el;
- if(pos==1)
- {
- novi->sledeci=*phead;
- *phead=novi;
- }
- else
- {
- temp=*phead;
- for(i=1;i<pos-1;i++)
- {
- temp=temp->sledeci;
- }
- novi->sledeci=temp->sledeci;
- temp->sledeci=novi;
- }
- return 1;
- }
- else
- {
- return 0;
- }}
- int brisanjeElementaListe(TCVOR **phead,int pos)
- {
- TCVOR *temp;
- TCVOR *del;
- int brojac=1;
- int i;
- temp=*phead;
- while(temp!=NULL)
- {
- brojac++;
- temp=temp->sledeci; // prolaz kroz listu,ostaje nam jos da proverimo da li je pozicija validna
- }
- if(pos>=1 && pos<=brojac) //uneta ok pozicija ->dozvoljen rad
- {
- if(pos==1)
- {
- del=*phead;
- (*phead)=(*phead)->sledeci;
- free(del);
- }
- else
- { temp=*phead;
- for(i=1;i<pos-1;i++)
- {
- temp=temp->sledeci;
- }
- del=temp->sledeci;
- temp->sledeci=del->sledeci;
- free(del);
- }
- }
- return 1;
- }
- int ispisliste(TCVOR **phead)
- {
- int brojac=1;
- TCVOR *temp;
- if(phead==NULL)
- {
- printf("prazna lista");
- return 0;
- }
- temp=*phead;
- while(temp!=NULL)
- {
- brojac++;
- //ispis sadrzaja elemenata
- printf("%d",temp->inf);
- temp=temp->sledeci; // prolaz kroz listu,ostaje nam jos da proverimo da li je pozicija validna
- }
- return 1;
- }
- void brisanjeCeleListe(TCVOR **phead)
- {
- while((*phead)!=NULL)
- {
- //brisanje elementa na prvoj poziciji
- // brisanjeElementaListe(TCVOR **phead,int pos)
- brisanjeElementaListe(phead,1);
- }
- printf("lista izbrisana");
- }
- /* void upisudatoteku(TCVOR *phead,FILE *pf)
- {
- TCVOR *temp=phead;
- int i;
- int brojac=1;
- if(pf!=NULL)
- {
- while(phead!=NULL)
- {
- fprintf(pf,"%d",temp->inf);
- }
- close(pf);
- }
- } */
- int main()
- {
- TCVOR *phead=NULL;
- int el,pos;
- unoselementa(&phead,100,1);
- unoselementa(&phead,200,2);
- unoselementa(&phead,300,3);
- unoselementa(&phead,400,4);
- unoselementa(&phead,999,3);
- brisanjeElementaListe(&phead,2);
- ispisliste(&phead);
- brisanjeCeleListe(&phead);
- ispisliste(&phead);
- return 0;
- }
Add Comment
Please, Sign In to add comment