fork download
  1. #include <string>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. template <typename T>
  6. class Lista
  7. {
  8. public:
  9. Lista() : pierwszy(0), ostatni(0){}
  10. void dodajNaKoniec(T dana){
  11. TLista *e = new TLista;
  12. e->dana = dana;
  13. e->nastepny = 0;
  14. e->poprzedni = 0;
  15.  
  16. if(ostatni){
  17. ostatni->nastepny = e;
  18. e->poprzedni = ostatni;
  19. ostatni = e;
  20. }
  21. else{
  22. pierwszy = e;
  23. ostatni = e;
  24. }
  25. }
  26.  
  27. void dodajNaPoczatek(T dana){
  28. TLista *e = new TLista;
  29. e->dana = dana;
  30. e->nastepny = 0;
  31. e->poprzedni = 0;
  32.  
  33. if(pierwszy){
  34. pierwszy->poprzedni = e;
  35. e->nastepny = pierwszy;
  36. pierwszy = e;
  37. }
  38. else{
  39. pierwszy = e;
  40. ostatni = e;
  41. }
  42. }
  43.  
  44. void wypisz(){
  45. TLista *temp;
  46. for(temp = pierwszy; temp != ostatni; temp = temp->nastepny)
  47. std::cout << temp->dana << ", ";
  48. std::cout << temp->dana << "\n";
  49. }
  50.  
  51. ~Lista() {}
  52.  
  53. private:
  54. struct TLista{
  55. T dana;
  56. TLista *poprzedni;
  57. TLista *nastepny;
  58. };
  59.  
  60. TLista *pierwszy;
  61. TLista *ostatni;
  62. };
  63.  
  64. int main()
  65. {
  66. Lista<int> l;
  67. l.dodajNaKoniec(10);
  68. return 0;
  69. }
Success #stdin #stdout 0s 3424KB
stdin
Standard input is empty
stdout
Standard output is empty