Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "testy.h"
- #include <ctime>
- #include <ratio>
- #include <chrono>
- #include <iostream>
- #include <fstream>
- using namespace std::chrono;
- using namespace std;
- fstream plik( "test.csv", ios::out );
- void testy::wykonajTesty(){
- if( plik.good() )
- {
- int rozmiary[] = {500, 1000, 5000, 10000, 20000};
- testowanieKopca(rozmiary, 5);
- testowanieListy(rozmiary, 5);
- testowanieTablicy(rozmiary, 5);
- plik.close();
- }
- cout<<"Koniec testow";
- }
- void testy::testowanieListy(int rozmiary[], int rozmiar){
- for(int i = 0; i<rozmiar; ++i){
- listaUsuwanieNaPoczatek[i] = 0;
- listaUsuwanieNaKoniec [i] = 0;
- listaUsuwanieWLosoweMiejsce [i] = 0;
- listaDodawanieNaPoczatek[i] = 0;
- listaDodawanieWLosoweMiejsce[i] = 0;
- listaDodawanieNaKoniec[i] = 0;
- listaWyszukiwanie[i] = 0;
- }
- for(int i = 0; i<rozmiar; ++i)
- listy[i].losowaLista(rozmiary[i]); //tworzenie zerowych list
- for(int i = 0; i<rozmiar; ++i){
- listaDodawanieUsuwanieNaPoczatek(i, rozmiary[i]);
- listaDodawanieUsuwanieWLosoweMiejsce(i, rozmiary[i]);
- listaDodawanieUsuwanieNaKoniec(i, rozmiary[i]);
- }
- plik<<"\n\n\n\nLista\n";
- plik<<"Dodawanie na poczatek"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<listaDodawanieNaPoczatek[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie na poczatek"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<listaUsuwanieNaPoczatek[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Dodawanie na koniec"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<listaDodawanieNaKoniec[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie na koniec"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<listaUsuwanieNaKoniec[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Dodawanie w losowe miejsce"<<"\n";
- for(int i =0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<listaDodawanieWLosoweMiejsce[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie w losowym miejscu"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<listaUsuwanieWLosoweMiejsce[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Wyszukiwanie"<<"\n";
- for(int i =0; i<rozmiar; ++i)
- listaWyszukiwanie1(i, rozmiary[i]);
- }
- void testy::testowanieKopca(int rozmiary[], int rozmiar){
- for(int i = 0; i<rozmiar; ++i){
- kopiecDodawanie[i] = 0;
- kopiecUsuwanie [i] = 0;
- }
- for(int i = 0; i<rozmiar; ++i)
- kopce[i].losowaTablica(rozmiary[i]); //tworzenie zerowych list
- cout<<kopce[0].getRozmiar();
- for(int i = 0; i<rozmiar; ++i){
- kopiecDodawanieUsuwanie(i, rozmiary[i]);
- }
- plik<<"Kopiec\n";
- plik<<"Dodawanie"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<kopiecDodawanie[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<kopiecUsuwanie[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Wyszukiwanie"<<"\n";
- for(int i =0; i<rozmiar; ++i)
- kopiecWyszukiwanie1(i, rozmiary[i]);
- }
- void testy::testowanieTablicy(int rozmiary[], int rozmiar){
- for(int i = 0; i<rozmiar; ++i){
- tablicaUsuwanieNaPoczatek[i] = 0;
- tablicaUsuwanieNaKoniec [i] = 0;
- tablicaUsuwanieWLosoweMiejsce [i] = 0;
- tablicaDodawanieNaPoczatek[i] = 0;
- tablicaDodawanieWLosoweMiejsce[i] = 0;
- tablicaDodawanieNaKoniec[i] = 0;
- tablicaWyszukiwanie[i] = 0;
- }
- for(int i = 0; i<rozmiar; ++i)
- tablice[i].losowaTablica(rozmiary[i]); //tworzenie zerowych list
- for(int i = 0; i<rozmiar; ++i){
- tablicaDodawanieUsuwanieNaPoczatek(i, rozmiary[i]);
- tablicaDodawanieUsuwanieWLosoweMiejsce(i, rozmiary[i]);
- tablicaDodawanieUsuwanieNaKoniec(i, rozmiary[i]);
- }
- plik<<"\n\n\n\n Tablica \n";
- plik<<"Dodawanie na poczatek"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<tablicaDodawanieNaPoczatek[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie na poczatek"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<tablicaUsuwanieNaPoczatek[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Dodawanie na koniec"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<tablicaDodawanieNaKoniec[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie na koniec"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<tablicaUsuwanieNaKoniec[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Dodawanie w losowe miejsce"<<"\n";
- for(int i =0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<tablicaDodawanieWLosoweMiejsce[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Usuwanie w losowym miejscu"<<"\n";
- for(int i = 0; i<rozmiar; ++i)
- plik<<rozmiary[i]<<","<<tablicaUsuwanieWLosoweMiejsce[i]/1000<<"\n";
- plik<<"\n\n\n\n"<<"Wyszukiwanie"<<"\n";
- for(int i =0; i<rozmiar; ++i)
- tablicaWyszukiwanie1(i, rozmiary[i]);
- }
- void testy::listaDodawanieUsuwanieNaPoczatek(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- listy[index].dodajPoczatek(i);
- czas_koniec = chrono::high_resolution_clock::now();
- listaDodawanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- listy[index].usunPoczatek();
- czas_koniec = chrono::high_resolution_clock::now();
- listaUsuwanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::listaDodawanieUsuwanieWLosoweMiejsce(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- listy[index].dodajLosowe(i);
- czas_koniec = chrono::high_resolution_clock::now();
- listaDodawanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- listy[index].usunLosowe();
- czas_koniec = chrono::high_resolution_clock::now();
- listaUsuwanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::listaDodawanieUsuwanieNaKoniec(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- listy[index].dodajKoniec(i);
- czas_koniec = chrono::high_resolution_clock::now();
- listaDodawanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- listy[index].usunKoniec();
- czas_koniec = chrono::high_resolution_clock::now();
- listaUsuwanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::listaWyszukiwanie1(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- czas_start = chrono::high_resolution_clock::now();
- for(int i = 0; i<ilosc; ++i){
- listy[index].czyIstnieje(i);
- }
- czas_koniec = chrono::high_resolution_clock::now();
- plik << ilosc <<","<<std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count()/ilosc<<"\n";
- }
- void testy::tablicaDodawanieUsuwanieNaPoczatek(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- tablice[index].dodajPoczatek(i);
- czas_koniec = chrono::high_resolution_clock::now();
- tablicaDodawanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- tablice[index].usunPoczatek();
- czas_koniec = chrono::high_resolution_clock::now();
- tablicaUsuwanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::tablicaDodawanieUsuwanieWLosoweMiejsce(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- tablice[index].dodajLosowe(i);
- czas_koniec = chrono::high_resolution_clock::now();
- tablicaDodawanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- tablice[index].usunLosowe();
- czas_koniec = chrono::high_resolution_clock::now();
- tablicaUsuwanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::tablicaDodawanieUsuwanieNaKoniec(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- tablice[index].dodajKoniec(i);
- czas_koniec = chrono::high_resolution_clock::now();
- tablicaDodawanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- tablice[index].usunKoniec();
- czas_koniec = chrono::high_resolution_clock::now();
- tablicaUsuwanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::tablicaWyszukiwanie1(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- czas_start = chrono::high_resolution_clock::now();
- for(int i = 0; i<ilosc; ++i){
- tablice[index].czyIstnieje(i);
- }
- czas_koniec = chrono::high_resolution_clock::now();
- plik << ilosc <<","<<std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count()/ilosc<<"\n";
- }
- void testy::kopiecDodawanieUsuwanie(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- for(int i = 0; i<1000; ++i){
- czas_start = chrono::high_resolution_clock::now();
- kopce[index].Kopiec::dodajKoniec(i);
- czas_koniec = chrono::high_resolution_clock::now();
- kopiecDodawanie[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- czas_start = chrono::high_resolution_clock::now();
- kopce[index].Kopiec::usunPoczatek();
- czas_koniec = chrono::high_resolution_clock::now();
- kopiecUsuwanie[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
- }
- }
- void testy::kopiecWyszukiwanie1(int index, int ilosc){
- chrono::high_resolution_clock::time_point czas_start;
- chrono::high_resolution_clock::time_point czas_koniec;
- czas_start = chrono::high_resolution_clock::now();
- for(int i = 0; i<ilosc; ++i){
- kopce[index].czyIstnieje(i);
- }
- czas_koniec = chrono::high_resolution_clock::now();
- plik << ilosc <<","<<std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count()/ilosc<<"\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement