Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- int licznik=0;
- int zwroc()
- {
- int value=rand()%100+101;
- return value;
- }
- class lista
- {
- public:
- lista *next;
- int value;
- static void dodaj();
- static void show();
- static void createeven();
- static void addeven(int numer);
- static void show_reversed();
- static void sorting();
- };
- lista *poczatek=nullptr;
- lista *poczatekparz=nullptr;
- void lista::show()
- {
- lista *pomoc=poczatek;
- cout<<"Utworzone elementy: "<<endl;
- while(pomoc->next != nullptr)
- {
- cout<<pomoc->value<<endl;
- pomoc=pomoc->next;
- }
- cout<<pomoc->value<<endl;
- }
- void lista::dodaj()
- {
- lista *kulka=new lista();
- licznik++;
- kulka->value=zwroc();
- lista *pomoc=poczatek;
- if(pomoc==nullptr)
- {
- poczatek=kulka;
- kulka->next=nullptr;
- }
- else
- {
- while(pomoc->next != nullptr)
- {
- pomoc=pomoc->next;
- }
- pomoc->next=kulka;
- kulka->next=nullptr;
- }
- }
- void lista::createeven()
- {
- lista *pomoc=poczatek;
- while(pomoc->next != nullptr)
- {
- if((pomoc->value)%2==0)
- {
- lista::addeven(pomoc->value);
- }
- pomoc=pomoc->next;
- }
- if((pomoc->value)%2==0)
- {
- lista::addeven(pomoc->value);
- }
- }
- void lista::addeven(int numer)
- {
- lista *kulka=new lista();
- kulka->value=numer;
- lista *pomoc=poczatekparz;
- if(pomoc==nullptr)
- {
- poczatekparz=kulka;
- kulka->next=nullptr;
- }
- else
- {
- while(pomoc->next != nullptr)
- {
- pomoc=pomoc->next;
- }
- pomoc->next=kulka;
- kulka->next=nullptr;
- }
- }
- void lista::show_reversed()
- {
- lista *pomoc=poczatek;
- int tablica[licznik];
- int kolejnosc = 0;
- while(pomoc->next != nullptr)
- {
- tablica[kolejnosc]=pomoc->value;
- kolejnosc++;
- pomoc=pomoc->next;
- }
- tablica[kolejnosc]=pomoc->value;
- cout<<"Lista w odwrotnej kolejnosci: "<<endl;
- for(int i=licznik-1; i>=0; i--)
- {
- cout<<tablica[i]<<endl;
- }
- }
- void lista::sorting()
- {
- lista *temp1=poczatek;
- lista *temp=nullptr;
- if(temp1->next)
- if(temp1->next->next)
- if(temp1->next->value > temp1->next->next->value)
- {
- temp1=temp1->next;
- temp1->next=temp->next;
- temp->next=temp1->next->next;
- temp1->next->next=temp;
- }
- if(temp1->next)
- temp1->next->sorting();
- }
- int main()
- {
- srand(time(NULL));
- for(int i=0; i<10; i++)
- {
- lista::dodaj();
- }
- lista::show();
- lista::sorting();
- lista::show_reversed();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement