Guest User

Untitled

a guest
Jun 20th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. struct tpac {
  5. int mb;
  6. char ime[20];
  7. int godine;
  8. } pacijent;
  9.  
  10. struct list {
  11. int mb;
  12. char ime[20];
  13. int godine;
  14. list* sljedeci;
  15. };
  16.  
  17. typedef list* elem;
  18.  
  19. elem Init(list* L) {
  20. L = new list;
  21. L->sljedeci = NULL;
  22. return L;
  23. }
  24. elem End(list* L) {
  25. list* tekuci = L;
  26. while (tekuci->sljedeci)
  27. tekuci = tekuci->sljedeci;
  28. return tekuci;
  29. }
  30. elem First(list* L) {
  31. if (L->sljedeci)
  32. return L;
  33. return End(L);
  34. }
  35. elem Next(elem p, list* L) {
  36. if (p->sljedeci)
  37. return p->sljedeci;
  38. return End(L);
  39. }
  40. elem Previous(elem p, list* L){
  41. if (p == L) return 0;
  42. list* tekuci = L;
  43. while (tekuci->sljedeci) {
  44. if (tekuci->sljedeci == p)
  45. return tekuci;
  46. tekuci = tekuci->sljedeci;
  47. }
  48. }
  49. int Insert(tpac neki, elem p, list* L) {
  50. if (p) {
  51. list* novi = new list;
  52. novi->mb = neki.mb;
  53. strcpy (novi->ime, neki.ime);
  54. novi->godine = neki.godine;
  55. if (p->sljedeci)
  56. novi->sljedeci = p->sljedeci;
  57. else
  58. novi->sljedeci = NULL;
  59. p->sljedeci = novi;
  60. return 1;
  61. }
  62. return 0;
  63. }
  64. elem Locate(tpac neki, list* L) {
  65. list* tekuci = L;
  66. while (tekuci) {
  67. if (tekuci->sljedeci->mb == neki.mb)
  68. return tekuci;
  69. tekuci = tekuci->sljedeci;
  70. }
  71. return End(L);
  72. }
  73. tpac Retreive(elem p, list* L) {
  74. if (p && p->sljedeci) {
  75. pacijent.mb = p->sljedeci->mb;
  76. strcpy (pacijent.ime, p->sljedeci->ime);
  77. pacijent.godine = p->sljedeci->godine;
  78. return pacijent;
  79. }
  80. }
  81. int Delete(elem p, list* L) {
  82. list* pom;
  83. if (p && p->sljedeci) {
  84. pom = p->sljedeci;
  85. p->sljedeci = p->sljedeci->sljedeci;
  86. delete pom;
  87. return 1;
  88. }
  89. else
  90. return 0;
  91. }
  92. void DeleteAll(list* L) {
  93. list *tekuci = L->sljedeci;
  94. list *pom;
  95. while (tekuci) {
  96. pom = tekuci;
  97. tekuci = tekuci->sljedeci;
  98. delete pom;
  99. }
  100. }
Add Comment
Please, Sign In to add comment