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

  1.  
  2. my_qsort(int data[],int first,int last)
  3. {
  4.     int i;
  5.     int j;
  6.     int temp;
  7.  
  8.     i = first + 1;
  9.     j = last;
  10.     while ( i <= j )
  11.     {
  12.         while ( data[i] <= data[first] && i <= last )
  13.             i++;
  14.         while ( data[j] >= data[first] && j > first )
  15.             j--;
  16.         if ( j > i )
  17.         {
  18.             temp = data[i];
  19.             data[i] = data[j];
  20.             data[j] = temp;
  21.         }
  22.     }
  23.     temp = data[first];
  24.     data[first] = data[j];
  25.     data[j] = temp;
  26.     if ( (j-first) > 1 )
  27.         my_qsort( data, first, j-1 );
  28.     if ( (last-j) > 1 )
  29.         my_qsort( data, j+1, last );
  30. }
  31.  
  32.                 A Minimal Quicksort Written in C
  33.                             Figure 7
  34.  
  35.