Qsort.c
Upload User: dq031136
Upload Date: 2022-08-08
Package Size: 802k
Code Size: 1k
Development Platform:

C++ Builder

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. int compare_int(int *a, int *b)
  4.  {
  5. if (*a < *b)
  6. return(-1);
  7. else if (*a == *b)
  8. return(0);
  9. else
  10. return(1);
  11.  }
  12. int compare_float(float *a, float *b)
  13.  {
  14.    if (*a < *b)
  15.      return(-1);
  16.    else if (*a == *b)
  17.      return(0);
  18.    else
  19.      return(1);
  20.  }
  21. void main(void)
  22.  {
  23.    int int_values[] = {51, 23, 2, 44, 45}; 
  24.    float float_values[] = {21.1, 13.3, 22.2, 34.4, 15.5};  
  25.    
  26.    int elements = 5, i;
  27.    
  28.    qsort(int_values, elements, sizeof(int), 
  29.       (int (*) (const void *, const void *)) compare_int);
  30.    for (i = 0; i < elements; i++)
  31.      printf("%d ", int_values[i]);
  32.    putchar('n');
  33.    qsort(float_values, elements, sizeof(float), 
  34.      (int (*) (const void *, const void *)) compare_float);
  35.    
  36.    for (i = 0; i < elements; i++)
  37.      printf("%4.1f ", float_values[i]);
  38.  }