Пример #1
0
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);
}
Пример #2
0
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;
}
Пример #3
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;
}
Пример #4
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));
}
Пример #5
0
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;
}
Пример #6
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);
}
Пример #7
0
Файл: 3-1.c Проект: icesyc/K-R
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;
}