>>132 の 5) クイックソート、のつもりですが…
添削お願いします。

#include <iostream>
#include <time.h>
#define QTY 100

using namespace std;

void output( int array[], int qty, char mess[] )
{
  cout << mess << endl;
  for ( int i = 0; i < qty; ++i ) {
    cout << array[ i ] << endl;
  }
}

void qsort( int array[], int first, int last )
{
  int basis, small, big;

  basis = array[ ( first + last ) / 2 ];
  small = first;
  big = last;

  while ( small <= big ) {
    for ( ; array[ small ] < basis; ++small ) ;
    for ( ; array[ big ] > basis; --big ) ;
    if ( small <= big ) {
      swap( array[ small ], array[ big ] );
      ++small;
      --big;
    }
  }
  if ( small < last ) {
    qsort( array, first, small );
  }
  if ( big > first ) {
    qsort( array, big, last );
  }
}

int main( void )
{
  int list[ QTY ];
  srand( (unsigned)time( NULL ) );
  for ( int i = 0; i < QTY; ++i ) {
    list[ i ] = rand();
  }
  output( list, QTY, "ソート前" );
  qsort( list, 0, QTY );
  output( list, QTY, "ソート後" );
  return( 0 );
}