Posted By

Jcesar3 on 11/12/12


Tagged

lista polje funkcije


Versions (?)

lista_polje.h


 / Published in: C++
 

Zaglavlje sa implementacijom liate pomoću polja. Sadrži funkcije za rad s listom.

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

Report this snippet  

You need to login to post a comment.