Posted By

Dominik-DinoPavlekovic on 11/11/12


Tagged

lista polje implementacija ATP


Versions (?)

lista_polje.h


 / Published in: C++
 

datoteka zaglavlja u kojoj se nalazi implementacija liste pomoću polja

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

Report this snippet  

You need to login to post a comment.