Posted By

tgasparic on 11/12/12


Tagged

lista ATP pokazivai


Versions (?)

polja_pokazivači


 / Published in: C++
 

Lista implementirana pomoću pokazivača

  1. #include <string>
  2.  
  3. using namespace std;
  4.  
  5. struct ziv{
  6. int sifra;
  7. int cijena;
  8. char naziv[50];
  9. char vrsta[20];
  10. string datum;
  11. };
  12.  
  13. struct lis{
  14. ziv zivotinje[200];
  15. lis *sljedeci
  16. };
  17. lis *lista=new lis;
  18. typdef lis *tip;
  19.  
  20.  
  21. lis *FirstL(lis *lista) {
  22. return lista->sljedeci;
  23. }
  24. lis *EndL(lis *lista) {
  25. lis *posljednji=lista;
  26. while(posljednji->posljednji!=NULL)
  27. posljednji=posljednji->sljedeci;
  28. return posljednji->sljedeci;
  29. }
  30. lis *NextL(lis *a, lis *lista) {
  31. return a->sljedeci;
  32. }
  33. lis *PreviousL(lis *a, lis *lista) {
  34. lis *trenutacni=lista;
  35. while(trenutacni->sljedeci!=a){
  36. trenutacni=trenutacni->sljedeci;
  37. }
  38. return trenutacni;
  39. }
  40. lis *LocateL(ziv x, lis *lista){
  41. lis *trenutacni=lista->sljedeci;
  42. while (trenutacni){
  43. if (x.sif==tekuci->values.sif || a.mat==tekuci->values.mat) return tekuci;
  44. tekuci=tekuci->next;
  45. }
  46. return EndL(lista);
  47. }
  48. void InsertL(ziv x, lis *a, lis *lista) {
  49. lis *pomocni=new lis;
  50. a=PreviousL(a, lista);
  51. pomocni->zivotinje=x;
  52. pomocni->sljedeci=a->sljedeci;
  53. a->sljedeci=pomocni;
  54. }
  55. void DeleteL(lis *a, lis *lista) {
  56. a=PreviousL(a, lista);
  57. lis *trenutacni=a->trenutacni;
  58. a->sljedeci=trenutacni->sljedeci;
  59. delete trenutacni;
  60. }
  61. ziv RetreiveL(lis *a, lis *lista) {
  62. return a->zivotinje;
  63. }
  64. void *DeleteAllL(lis *lista) {
  65. while(lista->sljedeci) {
  66. lis *trenutacni=lista->sljedeci;
  67. lista->sljedeci=trenutacni->sljedeci;
  68. delete trenutacni;
  69. }
  70. delete lista;
  71. }
  72. void *InitL (lis *lista) {
  73. lista->sljedeci=NULL;
  74. }

Report this snippet  

You need to login to post a comment.