Posted By

mgroznic on 11/12/12


Tagged

sp Matej Groznica


Versions (?)

lista_pokazivaci.h


 / Published in: C++
 

Datoteka zaglavlja, Strukture podataka

  1. #include <string>
  2. using namespace std;
  3.  
  4. struct ziv {
  5. int sifra;
  6. string naziv;
  7. string vrsta;
  8. int datum[3];
  9. int cijena;
  10. };
  11.  
  12. struct List {
  13. ziv a;
  14. List *next;
  15. };
  16.  
  17. typedef List lista;
  18. typedef List* element;
  19.  
  20. element GRESKA;
  21.  
  22. void InitL(lista *lista2) {
  23. element novi=new lista;
  24. novi->next=NULL;
  25. lista2->next=novi;
  26. }
  27.  
  28. element FirstL(lista *lista2) {
  29. return lista2->next;
  30. }
  31.  
  32. element EndL(lista *lista2) {
  33. element tekuci=lista2->next;
  34. while (tekuci->next!=NULL) {
  35. tekuci=tekuci->next;
  36. }
  37. return tekuci;
  38. }
  39.  
  40. element NextL(element e, lista *lista2) {
  41. return e->next;
  42. }
  43.  
  44. element PreviousL(element e, lista *lista2) {
  45. element tekuci=lista2;
  46.  
  47. while (tekuci->next!= e) {
  48. tekuci=tekuci->next;
  49. }
  50. return tekuci;
  51. }
  52.  
  53. int InsertL(ziv nova_z, element e, lista *lista2) {
  54. element novi=new lista;
  55. novi->a=nova_z;
  56.  
  57. novi->next=e;
  58. element prethodni=PreviousL(e, lista2);
  59. prethodni->next=novi;
  60. return 1;
  61. }
  62.  
  63. bool DeleteL(element e, lista *lista2) {
  64.  
  65. element tekuci=lista2;
  66.  
  67. while (tekuci->next!=e) {
  68. tekuci=tekuci->next;
  69. }
  70.  
  71. tekuci->next=e->next;
  72.  
  73. delete e;
  74.  
  75. return true;
  76.  
  77. }
  78.  
  79. void DeleteAll(lista *lista2) {
  80. element tekuci, brisi;
  81.  
  82. tekuci=lista2->next;
  83.  
  84. while(tekuci != NULL) {
  85. brisi=tekuci;
  86. tekuci=tekuci->next;
  87. delete brisi;
  88. }
  89.  
  90. element zadnji=new lista;
  91. zadnji->next=NULL;
  92. lista2->next=zadnji;
  93. }
  94.  
  95. element LocateL(ziv odbjegla, lista *lista2) {
  96. element tekuci;
  97. tekuci=lista2->next;
  98.  
  99. while (tekuci!=EndL(lista2)) {
  100. if (tekuci->a.sifra==odbjegla.sifra) {
  101. return tekuci;
  102. }
  103. tekuci=tekuci->next;
  104. }
  105.  
  106. return GRESKA;
  107.  
  108. }
  109.  
  110.  
  111. ziv RetrieveL (element e, lista *lista2) {
  112. return e->a;
  113. }

Report this snippet  

You need to login to post a comment.