Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.30 KB | None | 0 0
  1. #include "testy.h"
  2. #include <ctime>
  3. #include <ratio>
  4. #include <chrono>
  5. #include <iostream>
  6. #include <fstream>
  7. using namespace std::chrono;
  8. using namespace std;
  9. fstream plik( "test.csv", ios::out );
  10. void testy::wykonajTesty(){
  11.  
  12.  
  13.  
  14. if( plik.good() )
  15. {
  16. int rozmiary[] = {500, 1000, 5000, 10000, 20000};
  17. testowanieKopca(rozmiary, 5);
  18. testowanieListy(rozmiary, 5);
  19. testowanieTablicy(rozmiary, 5);
  20.  
  21. plik.close();
  22. }
  23. cout<<"Koniec testow";
  24.  
  25. }
  26. void testy::testowanieListy(int rozmiary[], int rozmiar){
  27. for(int i = 0; i<rozmiar; ++i){
  28. listaUsuwanieNaPoczatek[i] = 0;
  29. listaUsuwanieNaKoniec [i] = 0;
  30. listaUsuwanieWLosoweMiejsce [i] = 0;
  31. listaDodawanieNaPoczatek[i] = 0;
  32. listaDodawanieWLosoweMiejsce[i] = 0;
  33. listaDodawanieNaKoniec[i] = 0;
  34. listaWyszukiwanie[i] = 0;
  35. }
  36.  
  37. for(int i = 0; i<rozmiar; ++i)
  38. listy[i].losowaLista(rozmiary[i]); //tworzenie zerowych list
  39. for(int i = 0; i<rozmiar; ++i){
  40. listaDodawanieUsuwanieNaPoczatek(i, rozmiary[i]);
  41. listaDodawanieUsuwanieWLosoweMiejsce(i, rozmiary[i]);
  42. listaDodawanieUsuwanieNaKoniec(i, rozmiary[i]);
  43. }
  44. plik<<"\n\n\n\nLista\n";
  45. plik<<"Dodawanie na poczatek"<<"\n";
  46. for(int i = 0; i<rozmiar; ++i)
  47. plik<<rozmiary[i]<<","<<listaDodawanieNaPoczatek[i]/1000<<"\n";
  48. plik<<"\n\n\n\n"<<"Usuwanie na poczatek"<<"\n";
  49. for(int i = 0; i<rozmiar; ++i)
  50. plik<<rozmiary[i]<<","<<listaUsuwanieNaPoczatek[i]/1000<<"\n";
  51. plik<<"\n\n\n\n"<<"Dodawanie na koniec"<<"\n";
  52. for(int i = 0; i<rozmiar; ++i)
  53. plik<<rozmiary[i]<<","<<listaDodawanieNaKoniec[i]/1000<<"\n";
  54. plik<<"\n\n\n\n"<<"Usuwanie na koniec"<<"\n";
  55. for(int i = 0; i<rozmiar; ++i)
  56. plik<<rozmiary[i]<<","<<listaUsuwanieNaKoniec[i]/1000<<"\n";
  57. plik<<"\n\n\n\n"<<"Dodawanie w losowe miejsce"<<"\n";
  58. for(int i =0; i<rozmiar; ++i)
  59. plik<<rozmiary[i]<<","<<listaDodawanieWLosoweMiejsce[i]/1000<<"\n";
  60. plik<<"\n\n\n\n"<<"Usuwanie w losowym miejscu"<<"\n";
  61. for(int i = 0; i<rozmiar; ++i)
  62. plik<<rozmiary[i]<<","<<listaUsuwanieWLosoweMiejsce[i]/1000<<"\n";
  63. plik<<"\n\n\n\n"<<"Wyszukiwanie"<<"\n";
  64. for(int i =0; i<rozmiar; ++i)
  65. listaWyszukiwanie1(i, rozmiary[i]);
  66. }
  67. void testy::testowanieKopca(int rozmiary[], int rozmiar){
  68. for(int i = 0; i<rozmiar; ++i){
  69. kopiecDodawanie[i] = 0;
  70. kopiecUsuwanie [i] = 0;
  71. }
  72. for(int i = 0; i<rozmiar; ++i)
  73. kopce[i].losowaTablica(rozmiary[i]); //tworzenie zerowych list
  74. cout<<kopce[0].getRozmiar();
  75. for(int i = 0; i<rozmiar; ++i){
  76. kopiecDodawanieUsuwanie(i, rozmiary[i]);
  77. }
  78. plik<<"Kopiec\n";
  79. plik<<"Dodawanie"<<"\n";
  80. for(int i = 0; i<rozmiar; ++i)
  81. plik<<rozmiary[i]<<","<<kopiecDodawanie[i]/1000<<"\n";
  82. plik<<"\n\n\n\n"<<"Usuwanie"<<"\n";
  83. for(int i = 0; i<rozmiar; ++i)
  84. plik<<rozmiary[i]<<","<<kopiecUsuwanie[i]/1000<<"\n";
  85. plik<<"\n\n\n\n"<<"Wyszukiwanie"<<"\n";
  86. for(int i =0; i<rozmiar; ++i)
  87. kopiecWyszukiwanie1(i, rozmiary[i]);
  88.  
  89. }
  90. void testy::testowanieTablicy(int rozmiary[], int rozmiar){
  91. for(int i = 0; i<rozmiar; ++i){
  92. tablicaUsuwanieNaPoczatek[i] = 0;
  93. tablicaUsuwanieNaKoniec [i] = 0;
  94. tablicaUsuwanieWLosoweMiejsce [i] = 0;
  95. tablicaDodawanieNaPoczatek[i] = 0;
  96. tablicaDodawanieWLosoweMiejsce[i] = 0;
  97. tablicaDodawanieNaKoniec[i] = 0;
  98. tablicaWyszukiwanie[i] = 0;
  99. }
  100.  
  101. for(int i = 0; i<rozmiar; ++i)
  102. tablice[i].losowaTablica(rozmiary[i]); //tworzenie zerowych list
  103. for(int i = 0; i<rozmiar; ++i){
  104. tablicaDodawanieUsuwanieNaPoczatek(i, rozmiary[i]);
  105. tablicaDodawanieUsuwanieWLosoweMiejsce(i, rozmiary[i]);
  106. tablicaDodawanieUsuwanieNaKoniec(i, rozmiary[i]);
  107. }
  108. plik<<"\n\n\n\n Tablica \n";
  109. plik<<"Dodawanie na poczatek"<<"\n";
  110. for(int i = 0; i<rozmiar; ++i)
  111. plik<<rozmiary[i]<<","<<tablicaDodawanieNaPoczatek[i]/1000<<"\n";
  112. plik<<"\n\n\n\n"<<"Usuwanie na poczatek"<<"\n";
  113. for(int i = 0; i<rozmiar; ++i)
  114. plik<<rozmiary[i]<<","<<tablicaUsuwanieNaPoczatek[i]/1000<<"\n";
  115. plik<<"\n\n\n\n"<<"Dodawanie na koniec"<<"\n";
  116. for(int i = 0; i<rozmiar; ++i)
  117. plik<<rozmiary[i]<<","<<tablicaDodawanieNaKoniec[i]/1000<<"\n";
  118. plik<<"\n\n\n\n"<<"Usuwanie na koniec"<<"\n";
  119. for(int i = 0; i<rozmiar; ++i)
  120. plik<<rozmiary[i]<<","<<tablicaUsuwanieNaKoniec[i]/1000<<"\n";
  121. plik<<"\n\n\n\n"<<"Dodawanie w losowe miejsce"<<"\n";
  122. for(int i =0; i<rozmiar; ++i)
  123. plik<<rozmiary[i]<<","<<tablicaDodawanieWLosoweMiejsce[i]/1000<<"\n";
  124. plik<<"\n\n\n\n"<<"Usuwanie w losowym miejscu"<<"\n";
  125. for(int i = 0; i<rozmiar; ++i)
  126. plik<<rozmiary[i]<<","<<tablicaUsuwanieWLosoweMiejsce[i]/1000<<"\n";
  127. plik<<"\n\n\n\n"<<"Wyszukiwanie"<<"\n";
  128. for(int i =0; i<rozmiar; ++i)
  129. tablicaWyszukiwanie1(i, rozmiary[i]);
  130. }
  131.  
  132. void testy::listaDodawanieUsuwanieNaPoczatek(int index, int ilosc){
  133. chrono::high_resolution_clock::time_point czas_start;
  134. chrono::high_resolution_clock::time_point czas_koniec;
  135. for(int i = 0; i<1000; ++i){
  136. czas_start = chrono::high_resolution_clock::now();
  137. listy[index].dodajPoczatek(i);
  138. czas_koniec = chrono::high_resolution_clock::now();
  139. listaDodawanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  140.  
  141. czas_start = chrono::high_resolution_clock::now();
  142. listy[index].usunPoczatek();
  143. czas_koniec = chrono::high_resolution_clock::now();
  144. listaUsuwanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  145.  
  146. }
  147. }
  148. void testy::listaDodawanieUsuwanieWLosoweMiejsce(int index, int ilosc){
  149. chrono::high_resolution_clock::time_point czas_start;
  150. chrono::high_resolution_clock::time_point czas_koniec;
  151. for(int i = 0; i<1000; ++i){
  152. czas_start = chrono::high_resolution_clock::now();
  153. listy[index].dodajLosowe(i);
  154. czas_koniec = chrono::high_resolution_clock::now();
  155. listaDodawanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  156.  
  157. czas_start = chrono::high_resolution_clock::now();
  158. listy[index].usunLosowe();
  159. czas_koniec = chrono::high_resolution_clock::now();
  160. listaUsuwanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  161. }
  162. }
  163. void testy::listaDodawanieUsuwanieNaKoniec(int index, int ilosc){
  164. chrono::high_resolution_clock::time_point czas_start;
  165. chrono::high_resolution_clock::time_point czas_koniec;
  166. for(int i = 0; i<1000; ++i){
  167. czas_start = chrono::high_resolution_clock::now();
  168. listy[index].dodajKoniec(i);
  169. czas_koniec = chrono::high_resolution_clock::now();
  170. listaDodawanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  171.  
  172. czas_start = chrono::high_resolution_clock::now();
  173. listy[index].usunKoniec();
  174. czas_koniec = chrono::high_resolution_clock::now();
  175. listaUsuwanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  176. }
  177. }
  178. void testy::listaWyszukiwanie1(int index, int ilosc){
  179. chrono::high_resolution_clock::time_point czas_start;
  180. chrono::high_resolution_clock::time_point czas_koniec;
  181. czas_start = chrono::high_resolution_clock::now();
  182. for(int i = 0; i<ilosc; ++i){
  183. listy[index].czyIstnieje(i);
  184. }
  185. czas_koniec = chrono::high_resolution_clock::now();
  186. plik << ilosc <<","<<std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count()/ilosc<<"\n";
  187. }
  188.  
  189. void testy::tablicaDodawanieUsuwanieNaPoczatek(int index, int ilosc){
  190. chrono::high_resolution_clock::time_point czas_start;
  191. chrono::high_resolution_clock::time_point czas_koniec;
  192. for(int i = 0; i<1000; ++i){
  193. czas_start = chrono::high_resolution_clock::now();
  194. tablice[index].dodajPoczatek(i);
  195. czas_koniec = chrono::high_resolution_clock::now();
  196. tablicaDodawanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  197.  
  198. czas_start = chrono::high_resolution_clock::now();
  199. tablice[index].usunPoczatek();
  200. czas_koniec = chrono::high_resolution_clock::now();
  201. tablicaUsuwanieNaPoczatek[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  202.  
  203. }
  204. }
  205. void testy::tablicaDodawanieUsuwanieWLosoweMiejsce(int index, int ilosc){
  206. chrono::high_resolution_clock::time_point czas_start;
  207. chrono::high_resolution_clock::time_point czas_koniec;
  208. for(int i = 0; i<1000; ++i){
  209. czas_start = chrono::high_resolution_clock::now();
  210. tablice[index].dodajLosowe(i);
  211. czas_koniec = chrono::high_resolution_clock::now();
  212. tablicaDodawanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  213.  
  214. czas_start = chrono::high_resolution_clock::now();
  215. tablice[index].usunLosowe();
  216. czas_koniec = chrono::high_resolution_clock::now();
  217. tablicaUsuwanieWLosoweMiejsce[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  218. }
  219. }
  220. void testy::tablicaDodawanieUsuwanieNaKoniec(int index, int ilosc){
  221. chrono::high_resolution_clock::time_point czas_start;
  222. chrono::high_resolution_clock::time_point czas_koniec;
  223. for(int i = 0; i<1000; ++i){
  224. czas_start = chrono::high_resolution_clock::now();
  225. tablice[index].dodajKoniec(i);
  226. czas_koniec = chrono::high_resolution_clock::now();
  227. tablicaDodawanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  228.  
  229. czas_start = chrono::high_resolution_clock::now();
  230. tablice[index].usunKoniec();
  231. czas_koniec = chrono::high_resolution_clock::now();
  232. tablicaUsuwanieNaKoniec[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  233. }
  234. }
  235. void testy::tablicaWyszukiwanie1(int index, int ilosc){
  236. chrono::high_resolution_clock::time_point czas_start;
  237. chrono::high_resolution_clock::time_point czas_koniec;
  238. czas_start = chrono::high_resolution_clock::now();
  239. for(int i = 0; i<ilosc; ++i){
  240. tablice[index].czyIstnieje(i);
  241. }
  242. czas_koniec = chrono::high_resolution_clock::now();
  243. plik << ilosc <<","<<std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count()/ilosc<<"\n";
  244. }
  245.  
  246. void testy::kopiecDodawanieUsuwanie(int index, int ilosc){
  247. chrono::high_resolution_clock::time_point czas_start;
  248. chrono::high_resolution_clock::time_point czas_koniec;
  249. for(int i = 0; i<1000; ++i){
  250. czas_start = chrono::high_resolution_clock::now();
  251. kopce[index].Kopiec::dodajKoniec(i);
  252. czas_koniec = chrono::high_resolution_clock::now();
  253. kopiecDodawanie[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  254.  
  255. czas_start = chrono::high_resolution_clock::now();
  256. kopce[index].Kopiec::usunPoczatek();
  257. czas_koniec = chrono::high_resolution_clock::now();
  258. kopiecUsuwanie[index]+=std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count();
  259.  
  260. }
  261. }
  262.  
  263. void testy::kopiecWyszukiwanie1(int index, int ilosc){
  264. chrono::high_resolution_clock::time_point czas_start;
  265. chrono::high_resolution_clock::time_point czas_koniec;
  266. czas_start = chrono::high_resolution_clock::now();
  267. for(int i = 0; i<ilosc; ++i){
  268. kopce[index].czyIstnieje(i);
  269. }
  270. czas_koniec = chrono::high_resolution_clock::now();
  271. plik << ilosc <<","<<std::chrono::duration_cast<chrono::nanoseconds>(czas_koniec - czas_start).count()/ilosc<<"\n";
  272. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement