home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / qc / qc25 / qcsort1.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-15  |  1.1 KB  |  49 lines

  1. /* QCSORT1.C: Demonstrate sort with pointer notation. */
  2.  
  3. #include <stdio.h>
  4. #define SIZE 4
  5.  
  6. void sort( int size, double **p );
  7. void show( int size, double **p, double dd[] );
  8.  
  9. main()
  10. {
  11.    int x;
  12.    double d[] = { 3.333, 1.111, 2.222, 4.444 };
  13.    double *d_ptr[SIZE];
  14.    for( x = 0; x < SIZE; x++ )
  15.       d_ptr[x] = &d[x];
  16.    show( SIZE, d_ptr, d );
  17.    sort( SIZE, d_ptr );
  18.    show( SIZE, d_ptr, d );
  19. }
  20.  
  21. void sort( int size, double **p )
  22. {
  23.    int x, x1;
  24.    double *temp;
  25.    for( x = 0; x < size - 1; x++ )
  26.       for( x1 = x + 1; x1 < size; x1++ )
  27.       {
  28.          if( **(p+x) > **(p+x1) )
  29.          {
  30.             temp = *(p+x1);
  31.             *(p+x1) = *(p+x);
  32.             *(p+x) = temp;
  33.          }
  34.       }
  35. }
  36.  
  37. void show( int size, double **p, double dd[] )
  38. {
  39.    int x;
  40.    printf( "------------------------" );
  41.    printf( "------------------------\n" );
  42.    for( x = 0; x < size; x++ )
  43.    {
  44.       printf( "*d_ptr[%d] = %1.3f   ", x, **(p+x) );
  45.       printf( "d_ptr[%d] = %u ", x, *(p+x) );
  46.       printf( "  d[%d] = %1.3f\n", x, dd[x] );
  47.    }
  48. }
  49.