Guest User

Untitled

a guest
Apr 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.65 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. class kulka{
  7.  
  8.     public:
  9.     kulka *next;
  10.     kulka *prawy;
  11.     kulka *lewy;
  12.     int wartosc;
  13.  
  14.     kulka(int a): next(NULL), prawy(NULL), lewy(NULL), wartosc(a){};
  15.     void dodaj(kulka *nowa);
  16.     void dodajparz(kulka *nowa);
  17.     void dodajnie(kulka *nowa);
  18.  
  19.     void wyswietl();
  20. };
  21.  
  22. void kulka::dodaj( kulka *nowa)
  23. {
  24.     if( nowa->wartosc<wartosc)
  25.     {
  26.         if (lewy!=NULL)
  27.         {
  28.             lewy->dodaj(nowa);
  29.         }
  30.         else{
  31.             lewy=nowa;
  32.             }
  33.     }
  34.  
  35.  
  36.     else{
  37.         if(prawy!=NULL)
  38.         {
  39.         prawy->dodaj(nowa);  
  40.         }
  41.     else{
  42.         prawy=nowa;
  43.         }
  44.     }      
  45.  
  46. }
  47.  
  48.  
  49. void kulka::dodajparz(kulka *nowa)
  50. {
  51.     if( nowa->wartosc<wartosc)
  52.     {
  53.         if (lewy!=NULL)
  54.         {
  55.             lewy->dodaj(nowa);
  56.         }
  57.         else{
  58.             lewy=nowa;
  59.             }
  60.     }
  61.  
  62.  
  63.     else{
  64.         if(prawy!=NULL)
  65.         {
  66.         prawy->dodaj(nowa);  
  67.         }
  68.     else{
  69.         prawy=nowa;
  70.         }
  71.     }      
  72.  
  73. }
  74. void kulka::dodajnie(kulka *nowa)
  75. {
  76.     if( nowa->wartosc<wartosc)
  77.     {
  78.         if (lewy!=NULL)
  79.         {
  80.             lewy->dodaj(nowa);
  81.         }
  82.         else{
  83.             lewy=nowa;
  84.             }
  85.     }
  86.  
  87.  
  88.     else{
  89.         if(prawy!=NULL)
  90.         {
  91.         prawy->dodaj(nowa);  
  92.         }
  93.     else{
  94.         prawy=nowa;
  95.         }
  96.     }      
  97.  
  98. }
  99. void kulka::wyswietl(){
  100.  
  101. //int zliczacz=0;
  102. //int lew, praw;
  103. if(lewy!=NULL)
  104. {
  105.     lewy->wyswietl();
  106.     //zliczacz++;
  107. }
  108. //lew=zliczacz;
  109.     cout<<wartosc<<" ";
  110.     //cout<<endl;
  111.  
  112.     if(prawy !=NULL){
  113.         prawy->wyswietl();
  114.     //zliczacz++;
  115.     }
  116. //praw=zliczacz;
  117.  
  118. /*if(praw<lew){
  119.     cout<<lew<<endl;}
  120. else{
  121.     cout<<praw<<endl;}
  122.  
  123.  */
  124. }
  125.  
  126. int main(){
  127. srand(10);
  128.  
  129. kulka *root =new kulka(rand()%1000);
  130. kulka *rootp =new kulka(rand()%1000);
  131. kulka *rootn =new kulka(rand()%1000);
  132.  
  133. //kulka *akt;
  134.  
  135. //akt=root;
  136.  
  137. int a;
  138.  
  139. //cout<<root<<endl;
  140.  
  141. //int l,k;
  142. //kulka *parz= new kulka(0);
  143. //kulka *nie= new kulka(1);
  144.  
  145. for(int i=0; i<1000; i++)
  146. {
  147.     a=rand()%1000;
  148.     root->dodaj(new kulka(a));
  149.  
  150.         if(a%2==0) //czyli parzysta
  151.         {
  152.             //kulka *rootp =new kulka(a);
  153.             rootp->dodajparz(new kulka(a));
  154.            
  155.            
  156.         }
  157.         else{ //nieparzyste
  158.             //kulka *rootn =new kulka(a);
  159.             rootn->dodajnie(new kulka(a));
  160.            
  161.             }
  162.  
  163. }
  164.  
  165. root->wyswietl();
  166.  
  167. cout<< endl;
  168. cout<<endl;
  169.  
  170. rootp->wyswietl();
  171. cout<< endl;
  172. cout<<endl;
  173.  
  174. rootn->wyswietl();
  175.  
  176. cout<< endl;
  177. cout<<endl;
  178.  
  179. return 0;
  180. }
Add Comment
Please, Sign In to add comment