Posted By

zoka123 on 11/11/12


Tagged

listapokazivacpointerlist


Versions (?)

Lista_pokazivac.h


 / Published in: C++
 

Implementacija liste pomocu pokazivaca

  1. using namespace std;
  2. int sifra=1;
  3. int kursor;
  4.  
  5. struct tzivotinja {
  6. int sifra;
  7. char vrsta[30],naziv[30];
  8. float cijena;
  9. tm datum;
  10. tzivotinja *sljedeci;
  11. };
  12.  
  13. tzivotinja *lista = new tzivotinja;
  14.  
  15. void initL(tzivotinja *lista){
  16. lista->sljedeci = NULL;
  17. }
  18.  
  19. int endL(tzivotinja *lista){
  20. tzivotinja *tekuci = lista;
  21. int b=1;
  22. while(tekuci->sljedeci){
  23. tekuci=tekuci->sljedeci;
  24. b++;
  25. }
  26. return b;
  27. }
  28.  
  29. int firstL(tzivotinja *lista){
  30. return 0;
  31. }
  32.  
  33. int previousL(int p,tzivotinja *lista){
  34. if(p == firstL(lista)) return -1;
  35. else return p-1;
  36. }
  37.  
  38. tzivotinja retrieveL(int p, tzivotinja *lista){
  39. tzivotinja *tekuci = lista->sljedeci;
  40. for(int i=0;i<p;i++) tekuci = tekuci->sljedeci;
  41. return *tekuci;
  42. }
  43.  
  44.  
  45. void updateL(tzivotinja element,int p, tzivotinja* lista) {
  46. tzivotinja *tekuci=lista->sljedeci;
  47. for(int i=0;i<p;i++) tekuci=tekuci->sljedeci;
  48. tzivotinja *pom = tekuci->sljedeci;
  49. *tekuci = element;
  50. tekuci->sljedeci = pom;
  51. }
  52.  
  53.  
  54. int insertL(tzivotinja *novi, int p, tzivotinja *lista){
  55. tzivotinja *tekuci = lista;
  56.  
  57. for(int i=1;i<p;i++)
  58. tekuci = tekuci->sljedeci;
  59. novi->sljedeci = tekuci->sljedeci;
  60. tekuci->sljedeci = novi;
  61.  
  62. if((tekuci->sljedeci)->sifra == novi->sifra) return 1;
  63. else return 0;
  64. }
  65.  
  66.  
  67.  
  68. void deleteL(int p, tzivotinja *lista){
  69. tzivotinja *tekuci = lista->sljedeci;
  70. tzivotinja *prethodni = lista;
  71.  
  72. for(int i=0;i<p;i++){
  73. tekuci = tekuci->sljedeci;
  74. prethodni = prethodni->sljedeci;
  75. }
  76. prethodni->sljedeci = tekuci->sljedeci;
  77. delete tekuci;
  78. }

Report this snippet  

You need to login to post a comment.