Advertisement
Guest User

Untitled

a guest
May 26th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct cvor * POKAZIVAC;
  5.  
  6. typedef struct cvor{
  7. int podatak;
  8. POKAZIVAC sledeci;
  9. }CVOR;
  10.  
  11. void ubaci_na_pocetak(POKAZIVAC * glava,int podatak){
  12. POKAZIVAC novi;
  13. novi=(POKAZIVAC)malloc(sizeof(CVOR));
  14. novi->podatak=podatak;
  15. novi->sledeci=NULL;
  16.  
  17. if(*glava==NULL)
  18. *glava=novi;
  19. else{
  20. novi->sledeci=*glava;
  21. *glava=novi;
  22. }
  23. }
  24.  
  25. void prikazi_listu(POKAZIVAC glava){
  26.  
  27. if(glava==NULL)
  28. printf("\nLista je prazna");
  29. else{
  30. while(glava!=NULL){
  31. printf("%5d",glava->podatak);
  32. glava=glava->sledeci;
  33. }
  34. }
  35. printf("\n");
  36. }
  37.  
  38. POKAZIVAC vrati_zeljeni_cvor(POKAZIVAC glava, int podatak){
  39. POKAZIVAC tek=glava;
  40.  
  41. while(tek!=NULL && tek->podatak!=podatak)
  42. tek=tek->sledeci;
  43. return tek;
  44. }
  45.  
  46. void izbaci_zeljeni_cvor(POKAZIVAC * glava, POKAZIVAC zeljeni){
  47. POKAZIVAC cvor_za_izbacivanje=zeljeni;
  48. POKAZIVAC tek=*glava;
  49.  
  50. if((*glava)==NULL || cvor_za_izbacivanje==NULL )
  51. return;
  52. if(*glava==cvor_za_izbacivanje)
  53. *glava=(*glava)->sledeci;
  54. else{
  55. while(tek->sledeci!=cvor_za_izbacivanje)
  56. tek=tek->sledeci;
  57. tek->sledeci=cvor_za_izbacivanje->sledeci;
  58. }
  59. free(cvor_za_izbacivanje);
  60.  
  61. }
  62.  
  63. int vrati_poziciju_za_zeljeni_cvor(POKAZIVAC glava, int podatak){
  64. int i=1;
  65. POKAZIVAC tek=glava;
  66.  
  67.  
  68. while(tek!=NULL && tek->podatak!=podatak){
  69. tek=tek->sledeci;
  70. i=i+1;
  71. }
  72.  
  73. return i;
  74. }
  75.  
  76. int main(){
  77. int pozicija;
  78. POKAZIVAC glava=NULL;
  79. POKAZIVAC zeljeni;
  80. zeljeni=vrati_zeljeni_cvor(glava,3);
  81.  
  82.  
  83. ubaci_na_pocetak(&glava,8);
  84. ubaci_na_pocetak(&glava,3);
  85. ubaci_na_pocetak(&glava,9);
  86. ubaci_na_pocetak(&glava,7);
  87.  
  88. prikazi_listu(glava);
  89.  
  90. /*zeljeni=vrati_zeljeni_cvor(glava,3);
  91.  
  92. izbaci_zeljeni_cvor(&glava,zeljeni);
  93. prikazi_listu(glava);*/
  94.  
  95. pozicija=vrati_poziciju_za_zeljeni_cvor(glava,8);
  96. printf("\nTrazeni cvor je na poziciji %d",pozicija);
  97.  
  98.  
  99.  
  100. return 0;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement