lista_pokazivac.h


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

U ovoj biblioteci su definirane funkcije za izvršavanje operacija nad listom: iniciranje liste(InitL), funkcija koja vraća poziciju prvog elementa(FirstL), funkcija koja vraća poziciju zadnjeg elementa(EndL) funkcija za umetanje elementa(InsertL), funkcija koja vraća vrijednost elementa na nekoj poziciji(RetrieveL),funkcija koja vraća sljedbenika (NextL),funkcija koja vraća prethodnika (PreviousL), funkcija koja vraća prvi element liste čija je vrijednost jednaka x(LocateL x,L) te funkcije za brisanje jednog elementa (DeleteL) i cijele liste(DeleteAllL).


Copy this code and paste it in your HTML
  1. struct List {
  2. zivotinja pod;
  3. List* slj;
  4. };
  5.  
  6. typedef List Lista;
  7. typedef List* element;
  8.  
  9.  
  10. void InitL(Lista *l) {
  11. l->slj = NULL;
  12. }
  13.  
  14. element FirstL(Lista *l) {
  15. return l;
  16. }
  17.  
  18. element EndL(Lista *l) {
  19. element pom = l;
  20. while (pom->slj != NULL) {
  21. pom = pom->slj;
  22. }
  23. return pom;
  24. }
  25.  
  26. element NextL(element e, Lista *l){
  27. return e->slj;
  28. }
  29.  
  30. element PreviousL(element e, Lista *l){
  31. element pom = l;
  32. while (pom->slj != e) {
  33. pom = pom->slj;
  34. }
  35. return pom;
  36. }
  37.  
  38. void DeleteL(element e, Lista *l) {
  39. element brisemo = e->slj;
  40. e->slj = brisemo->slj;
  41. delete brisemo;
  42. }
  43.  
  44. void DeleteAll(Lista *l){
  45. while (l->slj != NULL) {
  46. DeleteL(l, l);
  47. }
  48. }
  49.  
  50. int InsertL(zivotinja x, element e, Lista *l) {
  51. element n = new Lista;
  52. n->pod = x;
  53. n->slj = e->slj;
  54. e->slj = n;
  55. return 1;
  56. }
  57.  
  58.  
  59.  
  60. element LocateL(zivotinja x, Lista *l){
  61. element pom = l;
  62. while (pom->slj->pod.sifra != x.sifra) {
  63. pom->slj;
  64. }
  65. return pom;
  66. }
  67.  
  68. zivotinja RetrieveL(element e, Lista *l){
  69. return e->slj->pod;
  70. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.