Posted By

SikavicaNino on 11/12/12


Tagged

deletel initl endl locatel retrievel insertl FirstL NextL PreviousL DeleteAllL


Versions (?)

lista_pokazivac.h


 / Published in: C++
 

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).

  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  

You need to login to post a comment.