/*探索時間を計測する関数。*/ double measure(int islinear, const int *data, int *keys){ int i; clock_t start, end; /*ランダムな数列を得る。*/ keys = getRandomArray(keys); if(islinear){ /*線形探索の場合。*/ /*開始前のクロックを保存。*/ start = clock(); /*線形探索をする。*/ for(i = 0; i < M; i++){ linear_search(data, keys[i]); } /*終了後のクロックを保存。*/ end = clock(); }else{ /*二部探索の場合。*/ /*開始前のクロックを保存。*/ start = clock(); /*二部探索をする。*/ for(i = 0; i < M; i++){ binary_search(data, keys[i]); } /*終了後のクロックを保存。*/ end = clock(); } /*計測時間を秒で返す。*/ return (end - start) / (double)CLOCKS_PER_SEC; }
int main(int argc, char const* argv[]) { int *temp; for(int i = 1; i <= 71; i += 5){ temp = getRandomArray(i, -20, 20); printarray(temp, i); countingsort(temp, i); printarray(temp, i); delete [] temp; } return 0; }
int main(int argc, char const* argv[]) { int *temp; for(int i = 1; i <= 31; i += 5){ temp = getRandomArray(i, 0, 25); printarray(temp, i); quicksort(temp, 0, i - 1); printarray(temp, i); delete [] temp; } return 0; }
int main(int argc, char const* argv[]) { for(int i = 1; i <= 41; i += 5){ int *temp = getRandomArray(i, -25, 25); printarray(temp, i); mergeSort(temp, i, 0, i - 1); printarray(temp, i); delete [] temp; } return 0; }