home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_08_08 / 8n08070b < prev    next >
Text File  |  1990-07-18  |  965b  |  40 lines

  1.  
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <stdlib.h>
  5.  
  6. #define ARRAY_SIZE 1000
  7.  
  8. int test_array[ARRAY_SIZE];
  9.  
  10. int compare( int *a, int *b )
  11. {
  12.     return( *a - *b );
  13. }
  14.  
  15. main()
  16. {
  17.     int i;
  18.     time_t start_time;
  19.     time_t stop_time;
  20.  
  21.     for ( i=0; i<ARRAY_SIZE ; i++ )
  22.         test_array[i] = rand();
  23.     time( &start_time );
  24.     qsort( test_array, ARRAY_SIZE, sizeof(int), compare );
  25.     time( &stop_time );
  26.     printf( "%f seconds elapsed.\n", difftime( stop_time, start_time));
  27.     test_array[0] += 100;
  28.     time( &start_time );
  29.     qsort( test_array, ARRAY_SIZE, sizeof(int), compare );
  30.     time( &stop_time );
  31.     printf( "%f seconds elapsed.\n", difftime( stop_time, start_time));
  32.     for (i=0 ; i<ARRAY_SIZE-1 ; i++ )
  33.         if ( test_array[i] > test_array[i+1] )
  34.             printf( "Mismatch at position %d\n", i );
  35. }
  36.  
  37.             Demonstrating Worst-Case qsort() Performance
  38.                          Figure 14
  39.  
  40.