Posted By

izavrski2 on 11/12/12


Tagged

list deletel initl endl locatel retrievel insertl FirstL NextL PreviousL DeleteAll


Versions (?)

Datoteka zaglavlja -lista_pokazivac.h


 / Published in: C++
 

U ovoj biblioteci su definirane standardne funkcije za operacije nad listom (FirstL, EndL, NextL, PreviousL, LocateL, InsertL, DeleteL, RetrieveL, DeleteAll i InitL). Te se funkcije pozivaju u glavnom programu po potrebi. Koriste pokazivači kojima se implementira tzv. vezana lista.

  1. struct List {
  2. podaci value;
  3. List* next;
  4. };
  5.  
  6. typedef List Lista;
  7. typedef List* element;
  8.  
  9.  
  10. element FirstL(Lista *L) {
  11. return L;
  12. }
  13.  
  14. element EndL(Lista *L) {
  15. while(L->next != NULL) {
  16. L = L->next;
  17. }
  18. return L;
  19. }
  20.  
  21. element NextL(element P, Lista *L) {
  22. return P->next;
  23. }
  24.  
  25. element PreviousL(element P, Lista *L) {
  26. while(L->next != P) {
  27. L = L->next;
  28. }
  29. return L;
  30. }
  31.  
  32. element LocateL(podaci X, Lista *L) {
  33. while (L->next->value.sifra != X.sifra) {
  34. L = L->next;
  35. }
  36. return L;
  37. }
  38.  
  39. bool InsertL(podaci X, element P, Lista *L) {
  40. element n = new Lista;
  41. n->value = X;
  42. n->next = P->next;
  43. P->next = n;
  44. return true;
  45. }
  46.  
  47. void DeleteL(element P, Lista *L) {
  48. element del = P->next;
  49. P->next = del->next;
  50. delete del;
  51. }
  52.  
  53. podaci RetrieveL(element P, Lista *L) {
  54. return P->next->value;
  55. }
  56.  
  57. void DeleteAll(Lista *L){
  58. element del = L->next;
  59. while (del != NULL) {
  60. L->next = del->next;
  61. delete del;
  62. del = L->next;
  63. }
  64. }
  65. void InitL(Lista *L) {
  66. L->next = NULL;
  67. }

Report this snippet  

You need to login to post a comment.