Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. class Lista {
  7. public:
  8.     typedef int wartosc ;
  9.     private :
  10. struct element {
  11.     wartosc wart ;
  12.     element * nastepny ;
  13.     element * poprzedni;
  14.     };
  15.     typedef element * pozycja ;
  16.     private :
  17.     pozycja pierwszy ;
  18.     pozycja ostatni ;
  19.     public:
  20.     Lista (){
  21.     pierwszy = NULL ;
  22.     ostatni = NULL;
  23.     }
  24.     ~ Lista (){
  25.     pozycja pom;
  26.     while ( pierwszy != NULL ){
  27.     pom = pierwszy ;
  28.     pierwszy = pierwszy -> nastepny ;
  29.     delete pom ;
  30.     }
  31.     }
  32.     public:
  33.         bool empty (){
  34.         if ( pierwszy == NULL )
  35.         return true ;
  36.         else
  37.         return false ;
  38.     }
  39.         int front (){
  40.         if (empty()) return 0;
  41.         return pierwszy -> wart ;
  42.     }
  43.         int back (){
  44.         if (empty()) return 0;
  45.         return ostatni -> wart;
  46.     }
  47.         void push_front (wartosc w ){
  48.         pozycja pom =new element ;
  49.         pom -> wart = w ;
  50.         pom -> nastepny = pierwszy ;
  51.         pom -> poprzedni = NULL ;
  52.         pierwszy = pom ;
  53.         if (pierwszy==NULL) ostatni=pierwszy;
  54.     }
  55.         void push_back (wartosc w ){
  56.         if ( pierwszy == NULL )
  57.         push_front ( w );
  58.         else {
  59.         pozycja it = ostatni ;
  60.         it -> nastepny = new element;
  61.         it = it -> nastepny;
  62.         it -> nastepny = NULL;
  63.         it -> poprzedni = ostatni;
  64.         it -> wart = w;
  65.         ostatni=it;
  66.     }
  67. }
  68.         void pop_front (){
  69.         pozycja pom = pierwszy ;
  70.         pierwszy = pierwszy -> nastepny ;
  71.         pierwszy -> poprzedni = NULL;
  72.         delete pom ;
  73. }
  74.         void pop_back (){
  75.         pozycja pom = ostatni ;
  76.         ostatni = ostatni -> poprzedni;
  77.         ostatni -> nastepny = NULL;
  78.         delete pom;
  79.     }
  80.         void poka()
  81.         {
  82.         pozycja it = pierwszy ;
  83.         while ( it != NULL ) {
  84.         cout << it -> wart << " ";
  85.         it = it -> nastepny ;
  86.         }
  87.     }
  88. };
  89.  
  90. void wczytaj(int ile, Lista &pierwsza, Lista &druga)
  91. {
  92.     int polowa=ile/2;
  93.     if (ile%2!=0) polowa=(ile/2)+1;
  94.     for (int i=1; i<=ile; i++)
  95.     {
  96.         if (i<=polowa) pierwsza.push_back(i);
  97.         else druga.push_back(i);
  98.     }
  99. }
  100. /*int main()
  101. {
  102.     int n, k, u, z, p, pileczka;
  103.     bool zdanie1=false;
  104.     Lista lewa, prawa, upu, zm;
  105.     scanf("%d", &n);
  106.     scanf("%d", &k);
  107.     scanf("%d", &u);
  108.     for (int i=0; i<u; i++)
  109.     {
  110.         scanf("%d", &p);
  111.         upu.push_back(p);
  112.     }
  113.     scanf("%d", &z);
  114.     for (int i=0; i<z; i++)
  115.     {
  116.         scanf("%d", &p);
  117.         zm.push_back(p);
  118.     }
  119.     wczytaj(n, lewa, prawa);
  120.     for(int j=1; j<=k; j++)
  121.     {
  122.         if (j%2 != 0)
  123.         {
  124.             if (zm.front()==j)
  125.             {
  126.                 zm.pop_front();
  127.                 if (zdanie1==false) zdanie1=true;
  128.                 else zdanie1=false;
  129.             }
  130.             if (!zdanie1)
  131.             {
  132.                 pileczka=lewa.back();
  133.                 lewa.pop_back();
  134.             }
  135.             else if(zdanie1)
  136.             {
  137.                 pileczka=prawa.front();
  138.                 prawa.pop_front();
  139.             }
  140.         }
  141.         else
  142.         {
  143.             if (!zdanie1)
  144.             {
  145.                 if (upu.front()==j) upu.pop_front();
  146.                 else prawa.push_back(pileczka);
  147.                 zdanie1=true;
  148.             }
  149.             else if (zdanie1)
  150.             {
  151.                 if (upu.front()==j) upu.pop_front();
  152.                 else lewa.push_front(pileczka);
  153.                 zdanie1=false;
  154.             }
  155.         }
  156.     }
  157.     lewa.poka();
  158.     prawa.poka();
  159.     return 0;
  160. }*/
  161. int main()
  162. {
  163.     Lista lista;
  164.     lista.push_front(5);
  165.     lista.push_front(6);
  166.     lista.push_front(7);
  167.     lista.poka();
  168.     lista.push_back(6);
  169.     return 0;
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement