Advertisement
Guest User

dsds

a guest
Oct 15th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1.  
  2. #include "pch.h"
  3. #include <iostream>
  4. #include <string>
  5. using namespace std;
  6. class Obiekt
  7. {
  8. private:
  9. int numer;
  10. char nazwa;
  11. };
  12.  
  13. template <typename T>
  14. class przejscie
  15. {
  16. public:
  17. T dane;
  18. przejscie*dalej;
  19. przejscie*wstecz;
  20. przejscie(T dane)
  21. {
  22. this->dane = dane;
  23. }
  24.  
  25. };
  26.  
  27. template <typename T>
  28. class Lista
  29. {
  30.  
  31.  
  32. public:
  33.  
  34. przejscie<T>*glowa = NULL;
  35. przejscie<T>*ogon = NULL;
  36. int dlugosc;
  37.  
  38.  
  39. void dodaj_na_poczatek(T dane)//? nie jestem pewny
  40. {
  41. przejscie<T>*wezel = new przejscie<T>(dane);
  42.  
  43. if (dlugosc > 0)
  44.  
  45. {
  46. glowa->wstecz = wezel;
  47. wezel->dalej = glowa;
  48. glowa = wezel;
  49. }
  50. else
  51. {
  52. glowa = wezel;
  53. ogon = wezel;
  54. }
  55.  
  56. dlugosc++;
  57. }
  58.  
  59. void dodaj_na_koniec (T dane)
  60. {
  61. przejscie<T>*wezel = new przejscie<T>(dane);
  62.  
  63. if (dlugosc > 0)
  64. {
  65. ogon -> dalej = wezel;
  66. wezel -> wstecz = ogon;
  67. ogon = wezel;
  68. }
  69. else
  70. {
  71. glowa = wezel;
  72. ogon = wezel;
  73. }
  74. dlugosc++;
  75. }
  76.  
  77. void usun_k()
  78. {
  79. przejscie<T>*wezel = ogon->wstecz;
  80. delete ogon;
  81. ogon = wezel;
  82. wezel->dalej = NULL;
  83. dlugosc--;
  84. }
  85.  
  86. void usun_p()
  87. {
  88. przejscie<T>*wezel = glowa->dalej;
  89. delete glowa;
  90. glowa=wezel;
  91. wezel -> wstecz = NULL;
  92. dlugosc--;
  93. }
  94.  
  95. void zwroc_dane(int i)
  96. {
  97. przejscie<T>*tym = glowa;
  98. int j = 0;
  99. for (j = 0; j < i; j++)
  100. tym = tym->dalej;
  101.  
  102. }
  103. void podmiana(int i, T dane)
  104. {
  105. przejscie<T>*index = glowa;
  106. int g = 0;
  107. for (g = 0; g < i; g++)
  108. index = index->dalej;
  109. index->dane = dane;
  110. }
  111. T znajdz_element(T dane)
  112. {
  113. przejscie<T>*li = glowa;
  114.  
  115.  
  116. }
  117. void znajdz_usun(T dane)
  118. {
  119.  
  120. }
  121.  
  122.  
  123. };
  124.  
  125. int main()
  126. {
  127. std::cout << "Witaj \n";
  128.  
  129. Lista<int>* listy = new Lista<int>();
  130.  
  131. listy->dodaj_na_poczatek(1);
  132. listy->dodaj_na_poczatek(3);
  133. listy->dodaj_na_poczatek(6);
  134.  
  135. listy->dodaj_na_koniec(2);
  136. listy->dodaj_na_koniec(5);
  137. listy->dodaj_na_koniec(6);
  138.  
  139. //listy->usun_k();
  140.  
  141. //listy->usun_p();
  142.  
  143. //listy->zwroc_dane(0);
  144.  
  145. //listy->podmiana(2, 3);
  146.  
  147.  
  148. przejscie<int>* temp = listy->glowa;
  149. while (temp != NULL)
  150. {
  151. std::cout <<"element listy: " << temp->dane << std::endl;
  152. temp = temp->dalej;
  153. }
  154. delete listy;
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement