Posted By

PetraKuhar on 11/10/12


Tagged

lista polje zadatak1


Versions (?)

Polje.h za zadatak 1


 / Published in: C++
 

URL: polje_petrak

Lista_polje za zadatak 1

  1. struct zivotinja {
  2. int sifra, cijena;
  3. string vrsta, naziv;
  4. long datum;
  5. };
  6.  
  7. struct List {
  8. zivotinja zivotinje[100];
  9. int kursor;
  10. };
  11.  
  12. // typedef <a> <b> znaci: "od sad, b je drugi naziv za a"
  13. typedef List Lista;
  14. typedef int element;
  15.  
  16. void InitL(Lista *l) {
  17. l->kursor = 0;
  18. }
  19.  
  20. element FirstL(Lista *l) {
  21. return 0;
  22. }
  23.  
  24. element EndL(Lista *l) {
  25. return l->kursor;
  26. }
  27.  
  28. int InsertL(zivotinja nova, element e, Lista *l) {
  29. if (l->kursor == 100)
  30. return 0;
  31.  
  32. for (int i = l->kursor; i > e; --i) {
  33. l->zivotinje[i] = l->zivotinje[i-1];
  34. }
  35. l->zivotinje[e] = nova;
  36. l->kursor = l->kursor + 1;
  37. return 1;
  38. }
  39.  
  40. void DeleteL(element e, Lista *l) {
  41. if (l->kursor == 0) {
  42. return;
  43. }
  44.  
  45. for (int i = e; i < l->kursor; ++i) {
  46. l->zivotinje[i] = l->zivotinje[i+1];
  47. }
  48. l->kursor = l->kursor - 1;
  49.  
  50. }
  51.  
  52. void DeleteAll (Lista *l) {
  53. l->kursor = 0;
  54. }
  55.  
  56. element LocateL(zivotinja x, Lista *l) {
  57. for (int i = 0; i < l->kursor; ++i) {
  58. if (l->zivotinje[i].sifra == x.sifra) {
  59. return i;
  60. }
  61. }
  62. return l->kursor;
  63. }
  64.  
  65. element NextL(element e, Lista *l) {
  66. return e+1;
  67. }
  68.  
  69. element PreviousL(element e, Lista *l) {
  70. return e-1;
  71. }
  72.  
  73. zivotinja RetrieveL(element e, Lista *l) {
  74. return l->zivotinje[e];
  75. }

Report this snippet  

You need to login to post a comment.