Polje.h za zadatak 1


/ Published in: C++
Save to your folder(s)

Lista_polje za zadatak 1


Copy this code and paste it in your HTML
  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. }

URL: polje_petrak

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.