Posted By

dleljak on 11/12/12


Tagged

listapoljeh dleljak


Versions (?)

lista_polje.h dleljak


 / Published in: C++
 

Biblioteka lista_polje.h za 1 zadatak iz struktura podataka

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

Report this snippet  

You need to login to post a comment.