Biblioteka listapokazivači.h


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

Biblioteka zaglavlja s funkcijama za implementaciju liste pomoću pokazivača


Copy this code and paste it in your HTML
  1. struct zivotinje {
  2. int sifra, dan, mjesec, godina;
  3. char vrsta[40];
  4. char naziv[30];
  5. float cijena;
  6. };
  7.  
  8. struct lis {
  9. zivotinje values;
  10. lis *sljedeci;
  11. };
  12. lis *lista=new lis;
  13.  
  14. lis *FirstL (lis *lista) {
  15. return lista;
  16. }
  17. lis *EndL (lis *lista) {
  18. lis *zadnji=lista;
  19. while (zadnji->sljedeci) zadnji=zadnji->sljedeci;
  20. return zadnji->sljedeci;
  21. }
  22. lis *NextL (lis *p, lis *lista) {
  23. lis *zadnji=lista;
  24. while (zadnji->sljedeci) zadnji=zadnji->sljedeci;
  25. if (p!=zadnji) return p->sljedeci;
  26. else return 0;
  27. }
  28. lis *PreviousL (lis *p, lis *lista) {
  29. if (p==lista) return 0;
  30. lis *tekuci=lista->sljedeci, *prethodni=lista;
  31. while (tekuci!=p) {
  32. tekuci=tekuci->sljedeci;
  33. prethodni=prethodni->sljedeci;
  34. }
  35. return prethodni->sljedeci;
  36. }
  37. lis *LocateL (int sifra, lis *lista) {
  38. lis *tekuci=lista;
  39. while (tekuci) {
  40. if (sifra==tekuci->values.sifra) return tekuci->sljedeci;
  41. tekuci=tekuci->sljedeci;
  42. }
  43. return NULL;
  44. }
  45. void InsertL (zivotinje x, lis *p, lis *lista) {
  46. lis *novi=new lis;
  47. novi->values=x;
  48. novi->sljedeci=p->sljedeci;
  49. p->sljedeci=novi;
  50. }
  51. void DeleteL (lis *p, lis *lista) {
  52. lis *tekuci=p->sljedeci;
  53. p->sljedeci=tekuci->sljedeci;
  54. delete tekuci;
  55. }
  56. lis *RetreiveL (lis *p, lis *lista) {
  57. return p->values;
  58. }
  59. void *DeleteAllL (lis *lista) {
  60. while (lista->sljedeci) {
  61. lis *tekuci=lista->sljedeci;
  62. lista->sljedeci=tekuci->sljedeci;
  63. delete tekuci;
  64. }
  65. delete lista;
  66. }
  67. void *InitL (lis *lista) {
  68. lista=NULL;
  69. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.