implementacija pomoću pokazivača


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

implementacija pomoću pokazivača


Copy this code and paste it in your HTML
  1. struct zivotinja {
  2. int sifra;
  3. char naziv[50];
  4. char vrsta[50];
  5. int d,m,y;
  6.  
  7. };
  8.  
  9. struct lista {
  10. zivotinja vrijednost;
  11. lista*sljedeci;
  12. };
  13.  
  14. typedef lista list;
  15. typedef lista*element;
  16.  
  17. element FirstL(list*L) {
  18. return L;
  19. }
  20.  
  21. element NextL(element p,list*L) {
  22. return p->sljedeci;
  23. }
  24.  
  25. element EndL(list*L) {
  26. element start;
  27. start=FirstL(L);
  28. while (start->sljedeci!=NULL) {
  29. start=NextL(start,L);
  30. }
  31. return start;
  32. }
  33.  
  34.  
  35.  
  36. element PreviousL(element p,list*L) {
  37. element start;
  38. start=FirstL(L);
  39. while(start->sljedeci!=p) {
  40. start=start->sljedeci;
  41. }
  42. return start;
  43. }
  44.  
  45. element LocateL(zivotinja x,list*L) {
  46. element start;
  47. start=FirstL(L);
  48. while (start->sljedeci->vrijednost.sifra!=x.sifra && start != EndL(L) ) {
  49. start=NextL(start,L);
  50. }
  51. return start;
  52. }
  53.  
  54. void InsertL(zivotinja x,element p,list*L) {
  55. element novi;
  56. novi=new list;
  57. novi->vrijednost=x;
  58.  
  59. novi->sljedeci=p->sljedeci;
  60. p->sljedeci=novi;
  61. }
  62.  
  63. void DeleteL(element p,list*L) {
  64. element za_brisanje;
  65. za_brisanje=p->sljedeci;
  66. p->sljedeci=p->sljedeci->sljedeci;
  67. delete za_brisanje;
  68. }
  69.  
  70. void DeleteAllL(list*L) {
  71. element za_brisanje;
  72.  
  73. while(L->sljedeci!=NULL) {
  74. za_brisanje=L->sljedeci;
  75. L->sljedeci=L->sljedeci->sljedeci;
  76. delete za_brisanje;
  77. }
  78.  
  79. }
  80.  
  81. zivotinja RetrieveL(element p,list*L) {
  82. return p->sljedeci->vrijednost;
  83. }
  84.  
  85. void InitL(list*L) {
  86. L->sljedeci=NULL;
  87. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.