Posted By

ivandokuzovic on 11/12/12


Tagged

polje pokazivaciimplementacijastrukturepodataka


Versions (?)

lista_polje.h


 / Published in: C++
 

biblioteka zaglavlja lista_polje.h implementacija liste pomocu polja

  1. struct tDatum{
  2. short dan, godina;
  3. char mjesec[8];
  4. };
  5.  
  6. struct tZivotinja{
  7. int sifra;
  8. char vrsta[50],naziv[50];
  9. tDatum datum;
  10. float cijena;
  11. };
  12.  
  13. struct tLista{
  14. tZivotinja zivotinja[10000];
  15. int kursor;
  16. };
  17.  
  18. tLista lista;
  19. int sifra=1, br_elem=0;
  20. int br=0;
  21.  
  22. void InitL(tLista& lista){
  23. lista.kursor=0;
  24. }
  25.  
  26. int EndL(tLista& lista){
  27. return lista.kursor;
  28. }
  29.  
  30. int FirstL(tLista& lista){
  31. if(EndL(lista)==0)
  32. return EndL(lista);
  33. return 0;
  34. }
  35.  
  36. int PreviousL(int p,tLista& lista){
  37. if(p==FirstL(lista))
  38. return -1;
  39. return p-1;
  40. }
  41.  
  42. int NextL(int p,tLista& lista){
  43. if(p==EndL(lista)-1)
  44. return EndL(lista);
  45. if(p==EndL(lista))
  46. return -1;
  47. return p+1;
  48. }
  49.  
  50.  
  51. int LocateL(char x[], tLista& lista){
  52. int p = EndL(lista);
  53. bool lociran=0;
  54. for(int i=0;i<p;i++)
  55. if(!strcmp(lista.zivotinja[i].naziv,x)||!strcmp(lista.zivotinja[i].vrsta,x)) {
  56. lociran=1;
  57. return i;
  58. }
  59. if(!lociran) return p;
  60. }
  61.  
  62. void InsertL(tZivotinja x,int p,tLista& lista){
  63. lista.zivotinja[p]=x;
  64. lista.kursor++;
  65. }
  66.  
  67. void DeleteL(int p,tLista& lista){
  68. if(p==EndL(lista)-1) lista.kursor--;
  69. else {
  70. for(int i=p;i<EndL(lista)-1;i++)
  71. lista.zivotinja[i]=lista.zivotinja[i+1];
  72. lista.kursor--;
  73. }
  74. }
  75.  
  76. tZivotinja RetrieveL(int p,tLista& lista){
  77. return lista.zivotinja[p];
  78. }
  79.  
  80. void DeleteAll(tLista& lista){
  81. lista.kursor=0;
  82. }

Report this snippet  

You need to login to post a comment.