All pastes #247309 Raw Edit

Someone

public text v1 · immutable
#247309 ·published 2006-11-13 08:54 UTC
rendered paste body
void QuickSort( employee employees[], int index[], int start, int finish ) {
     int outer;
     int inner;
     int left = start;
     int right = finish;
     int pivot = (start + finish) / 2;
     do {
          while ( strcmp(employees[index[left]].last_name, employees[index[pivot]].last_name) < 0 ) {
               left++;
          } // if left is not less than pivot, then left stays the same because we want to exchange it
          while ( strcmp(employees[index[right]].last_name, employees[index[pivot]].last_name) > 0 ) {
               right--;
          } // if right is not more than pivot, then right stays the same because we want to exchange it
          printf("%d %d", left, right);
          if ( left < right ) {
          printf("%d %d 2", left, right);
               Swap(&index[left], &index[right]);
               left++;
               right--;
          }
     } while ( left < right );
     printf("!");
     printf("%d %d", start, finish);
     if ( start < right ) {
          QuickSort(employees, index, start, right);
     }
     if ( left < finish ) {
          QuickSort(employees, index, left, finish);
     }
     system("PAUSE");
     for ( outer = start; outer < finish; outer++) {
         printf("%d %d %s", start, finish, employees[index[outer]].last_name);
     }
}