Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- class kulka{
- public:
- kulka *next;
- kulka *prawy;
- kulka *lewy;
- int wartosc;
- kulka(int a): next(NULL), prawy(NULL), lewy(NULL), wartosc(a){};
- void dodaj(kulka *nowa);
- void dodajparz(kulka *nowa);
- void dodajnie(kulka *nowa);
- void wyswietl();
- };
- void kulka::dodaj( kulka *nowa)
- {
- if( nowa->wartosc<wartosc)
- {
- if (lewy!=NULL)
- {
- lewy->dodaj(nowa);
- }
- else{
- lewy=nowa;
- }
- }
- else{
- if(prawy!=NULL)
- {
- prawy->dodaj(nowa);
- }
- else{
- prawy=nowa;
- }
- }
- }
- void kulka::dodajparz(kulka *nowa)
- {
- if( nowa->wartosc<wartosc)
- {
- if (lewy!=NULL)
- {
- lewy->dodaj(nowa);
- }
- else{
- lewy=nowa;
- }
- }
- else{
- if(prawy!=NULL)
- {
- prawy->dodaj(nowa);
- }
- else{
- prawy=nowa;
- }
- }
- }
- void kulka::dodajnie(kulka *nowa)
- {
- if( nowa->wartosc<wartosc)
- {
- if (lewy!=NULL)
- {
- lewy->dodaj(nowa);
- }
- else{
- lewy=nowa;
- }
- }
- else{
- if(prawy!=NULL)
- {
- prawy->dodaj(nowa);
- }
- else{
- prawy=nowa;
- }
- }
- }
- void kulka::wyswietl(){
- //int zliczacz=0;
- //int lew, praw;
- if(lewy!=NULL)
- {
- lewy->wyswietl();
- //zliczacz++;
- }
- //lew=zliczacz;
- cout<<wartosc<<" ";
- //cout<<endl;
- if(prawy !=NULL){
- prawy->wyswietl();
- //zliczacz++;
- }
- //praw=zliczacz;
- /*if(praw<lew){
- cout<<lew<<endl;}
- else{
- cout<<praw<<endl;}
- */
- }
- int main(){
- srand(10);
- kulka *root =new kulka(rand()%1000);
- kulka *rootp =new kulka(rand()%1000);
- kulka *rootn =new kulka(rand()%1000);
- //kulka *akt;
- //akt=root;
- int a;
- //cout<<root<<endl;
- //int l,k;
- //kulka *parz= new kulka(0);
- //kulka *nie= new kulka(1);
- for(int i=0; i<1000; i++)
- {
- a=rand()%1000;
- root->dodaj(new kulka(a));
- if(a%2==0) //czyli parzysta
- {
- //kulka *rootp =new kulka(a);
- rootp->dodajparz(new kulka(a));
- }
- else{ //nieparzyste
- //kulka *rootn =new kulka(a);
- rootn->dodajnie(new kulka(a));
- }
- }
- root->wyswietl();
- cout<< endl;
- cout<<endl;
- rootp->wyswietl();
- cout<< endl;
- cout<<endl;
- rootn->wyswietl();
- cout<< endl;
- cout<<endl;
- return 0;
- }
Add Comment
Please, Sign In to add comment