The Quicksort : Quick sort « Data Structure Algorithm « C / ANSI-C






The Quicksort

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void quickSortMain(char *items, int count);
void quickSort(char *items, int left, int right);

int main(void)
{
  char s[255]="asdfasdfasdfasdfasdfasdfasdf";

  quickSortMain(s, strlen(s));
  printf("The sorted string is: %s.\n", s);

  return 0;
}

void quickSortMain(char *items, int count)
{
  quickSort(items, 0, count-1);
}

void quickSort(char *items, int left, int right)
{
  int i, j;
  char x, y;

  i = left;
  j = right;
  x = items[(left+right)/2];

  do {
    while((items[i] < x) && (i < right))
       i++;
    while((x < items[j]) && (j > left))
       j--;

    if(i <= j) {
      y = items[i];
      items[i] = items[j];
      items[j] = y;
      i++; j--;
    }
  } while(i <= j);

  if(i < right)
      quickSort(items, i, right);
  if(left < j)
      quickSort(items, left, j);

}


           
       








Related examples in the same category

1.A Quicksort for stringsA Quicksort for strings
2.A Quicksort for filesA Quicksort for files
3.How to use sysmtem quick sortHow to use sysmtem quick sort
4.Sort: quicksort: how to use qsort
5.Quick sort on two dimensional string arrayQuick sort on two dimensional string array
6.Use the system quick sort
7.A Quicksort for structures of type address