int main() { int a[NUMTESTS][NUMELEMENTS]; clock_t time; for (int i = 0; i < NUMTESTS; i++) { int start = rand() % MAXSTEP; for (int j = 0; j < NUMELEMENTS; j++) { a[i][j] = start; start += rand() % MAXSTEP; } } time = clock(); for (int i = 0; i < NUMTESTS * 100000; i++) { int ix = rand() % NUMELEMENTS; int j = i % NUMTESTS; binsearch(a[j][ix], a[j], NUMELEMENTS); } time = clock() - time; printf("binsearch() took %lu clocks (%0.2f seconds)\n", (unsigned long) time, (double) time/CLOCKS_PER_SEC); time = clock(); for (int i = 0; i < NUMTESTS * 100000; i++) { int ix = rand() % NUMELEMENTS; int j = i % NUMTESTS; binsearch2(a[j][ix], a[j], NUMELEMENTS); } time = clock() - time; printf("binsearch2() took %lu clocks (%0.2f seconds)\n", (unsigned long) time, (double) time/CLOCKS_PER_SEC); }
int main() { int i; int total_values = 100000; int v[total_values]; for(i = 0; i < total_values; i+=2) { v[i] = i+1; } printf("%d is located at index %d\n", -4, binsearch(-4, v, total_values)); printf("%d is located at index %d\n", -4, binsearch2(-4, v, total_values)); printf("%d is located at index %d\n", 7, binsearch(7, v, total_values)); printf("%d is located at index %d\n", 7, binsearch2(7, v, total_values)); return 0; }
int main(void) { int testdata[MAX_ELEMENT]; int index; /* Index of found element in test data */ int n = -1; /* Element to search for */ int i; clock_t time_taken; for ( i = 0; i < MAX_ELEMENT; ++i ) testdata[i] = i; for ( i = 0, time_taken = clock(); i < 100000; ++i ) { index = binsearch(n, testdata, MAX_ELEMENT); } time_taken = clock() - time_taken; printf("binsearch() took %lu clocks (%lu seconds)\n", (unsigned long) time_taken, (unsigned long) time_taken / CLOCKS_PER_SEC); for ( i = 0, time_taken = clock(); i < 100000; ++i ) { index = binsearch2(n, testdata, MAX_ELEMENT); } time_taken = clock() - time_taken; printf("binsearch2() took %lu clocks (%lu seconds)\n", (unsigned long) time_taken, (unsigned long) time_taken / CLOCKS_PER_SEC); return 0; }
void main() { int v[TEST_SIZE]; int x = TEST_SIZE / 22; for (int i = 0; i < TEST_SIZE; ++i) v[i] = i; printf("%d\n", binsearch2(x, v, TEST_SIZE - 1)); }
int main(void) { int testdata[MAX_ELEMENT]; int index; /* Index of found element in test data */ #if 0 int n = -1; /* Element to search for */ #endif int n = MAX_ELEMENT + 1; /* Element to search for */ int i; clock_t time_taken; /* Initialize test data */ for ( i = 0; i < MAX_ELEMENT; ++i ) testdata[i] = i; /* Output approximation of time taken for 100,000 iterations of binsearch() */ for ( i = 0, time_taken = clock(); i < 100000; ++i ) { index = binsearch(n, testdata, MAX_ELEMENT); } time_taken = clock() - time_taken; if ( index < 0 ) printf("Element %d not found.\n", n); else printf("Element %d found at index %d.\n", n, index); printf("binsearch() took %lu clocks (%lu seconds)\n", (unsigned long) time_taken, (unsigned long) time_taken / CLOCKS_PER_SEC); /* Output approximation of time taken for 100,000 iterations of binsearch2() */ for ( i = 0, time_taken = clock(); i < 100000; ++i ) { index = binsearch2(n, testdata, MAX_ELEMENT); } time_taken = clock() - time_taken; if ( index < 0 ) printf("Element %d not found.\n", n); else printf("Element %d found at index %d.\n", n, index); printf("binsearch2() took %lu clocks (%lu seconds)\n", (unsigned long) time_taken, (unsigned long) time_taken / CLOCKS_PER_SEC); return 0; }
int main() { int array_size = 100000; int array[array_size]; clock_t time_taken; for(int i = 0; i < array_size; i++) array[i] = i; time_taken = clock(); for(int i = 0; i < array_size; i++) binsearch(i, array, array_size); printf("binsearch took %lu clocks\n", clock() - time_taken); time_taken = clock(); for(int i = 0; i < array_size; i++) binsearch2(i, array, array_size); printf("binsearch2 took %lu clocks\n", clock() - time_taken); }
int main(){ int v[] = {1,3,5,7,9,11}; printf("pos=%d\n", binsearch(11, v, 6)); printf("2pos=%d\n", binsearch2(11, v, 6)); return 0; }