Posted By

frafajec on 11/11/12


Tagged

1 Strukture podataka zadatak


Versions (?)

lista_polja.h


 / Published in: C++
 

Datoteka zaglavlja gdje je ATP lista implementirana pomocu polja

  1. struct podaci{
  2. int sifra, datum;
  3. char naziv[50], vrsta[50];
  4. };
  5. struct lista{
  6. podaci zapis[1000];
  7. int pok;
  8. };
  9. typedef int listap;
  10. //operacije
  11. int endL(lista *L){
  12. return L->pok;
  13. };
  14. int FirstL(lista *L){
  15. if (L->pok==0) return endL(L);
  16. else return 0;
  17. };
  18. int NextL(int p, lista *L){
  19. if(p == (L->pok)-1) return endL(L);
  20. else return p+1;
  21. };
  22. int PreviousL(int p, lista *L){
  23. if (p>0) return p-1; //ako je p-1 = -1, to oznacava pogrešku!
  24. else return 0;
  25. };
  26. int LocateL(zapis x, lista *L){
  27. for (int i=0; i < L->pok; i++)
  28. if ( x.sifra == (L->zapis[i].sifra) ) return i;
  29.  
  30. return endL(L);
  31. };
  32. int InsertL(zapis x, int p, lista *L){
  33. if (p<0 || p > L->pok) return 0;
  34. int pokazivac=A->pok;
  35. for (int i=pokazivac-1; i>=p; i--){
  36. L->zapis[i+1] = L->zapis[i];
  37. }
  38. L->zapis[p]=x;
  39. L->pok++;
  40. return 1;
  41. };
  42. int DeleteL(int p, lista *L){
  43. if (p<0 || p>=L->pok) return 0;
  44. for (int i=p; i< L->pok; i++)
  45. L->zapis[i] = L->zapis[i+1];
  46. L->pok--;
  47. return 1;
  48. };
  49. zapis RetrieveL(int p, lista *L){
  50. return L->zapis[p];
  51. };
  52. void DeleteallL(lista *L){
  53. L->pok=0;
  54. };
  55. lista *InitL(lista *L){
  56. L = new lista;
  57. for (int i=0; i<1000; i++)
  58. {
  59. L->zapis[i].sifra=0;
  60. L->zapis[i].datum=0;
  61. }
  62. L->pok=0;
  63. return L;
  64. };

Report this snippet  

You need to login to post a comment.