Posted By

gdanz on 11/12/12


Tagged

Shop polje polja zivotinje zoo


Versions (?)

Z1_polje.h


 / Published in: C++
 

implementacija liste pomocu polja za 1. zadatak iz kolegija Strukture podataka 2012/2013

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct zivotinje {
  6. int sifra, datum;
  7. char vrsta[20], naziv[40];
  8. float cijena;
  9.  
  10. };
  11.  
  12. struct tLista{
  13. zivotinje zivotinja[1000];
  14. int kursor;
  15. };
  16.  
  17. typedef int element;
  18.  
  19. element EndL(tLista *L){
  20. return L -> kursor;
  21. }
  22.  
  23. element FirstL(tLista *L){
  24. return 0;
  25. }
  26.  
  27. element PreviousL(element p, tLista *L){
  28. if( p == FirstL(L))
  29. return -1;
  30. return p-1;
  31. }
  32.  
  33. element NextL(element p, tLista *L){
  34. if(p == PreviousL(EndL(L),L))
  35. return EndL(L);
  36. return p+1;
  37. }
  38.  
  39. element LocateL(zivotinje x, tLista *L){
  40. int j;
  41. for(j=0; j<EndL(L); j++){
  42. if(x.naziv!=0){
  43. if(x.naziv == L -> zivotinja[j].naziv)
  44. return j;
  45. }
  46. else if(x.vrsta!=0){
  47. if(x.vrsta == L -> zivotinja[j].vrsta)
  48. return j;
  49. }
  50. }
  51. return EndL(L);
  52. }
  53.  
  54. element InsertL(zivotinje x, element p, tLista *L){
  55. int j;
  56. for(j=EndL(L); j>p; j--)
  57. L -> zivotinja[j] = L -> zivotinja[j-1];
  58. L -> zivotinja[p]=x;
  59. L -> kursor = L-> kursor+1;
  60. if(L-> zivotinja[p].sifra==x.sifra)
  61. return 1;
  62. else
  63. return 0;
  64. }
  65.  
  66. element DeleteL(element p, tLista *L){
  67. int j;
  68. int pom= L -> kursor;
  69. for(j=p; j<EndL(L); j++)
  70. L -> zivotinja[j]= L -> zivotinja[j+1];
  71. if(p!=EndL(L))
  72. L -> kursor = L -> kursor-1;
  73. if(pom!= L-> kursor)
  74. return 1;
  75. else
  76. return 0;
  77. }
  78.  
  79. zivotinje RetrieveL(element p, tLista *L){
  80. return L ->zivotinja[p];
  81. }
  82.  
  83. element DeleteAllL(tLista *L){
  84. L -> kursor = 0;
  85. return 1;
  86. }
  87.  
  88. tLista* InitL(tLista *L){
  89. L = new tLista;
  90. L -> kursor = 0;
  91. return L;
  92. }

Report this snippet  

You need to login to post a comment.