#include <stdlib.h>
#define MAX 20
void q_sort(char *string,int left,int right)
{
char partition;
char temp;
int i,j,k;
if(left<right)
{
i = left;
j = right + 1;
partition = string[left];
do{
do{
i++;
}
while(string[i] < partition);
do{
j--;
}
while(string[j] > partition);
if(i < j)
{
temp = string[i];
string[i] = string[j];
string[j] = temp;
}
}
while( i < j );
temp = string[left];
string[left] = string[j];
string[j] = temp;
printf("put out answer: ");
for(k = left; k<=right; k++);
printf("%c",string[k]);
printf("/n");
q_sort(string,left,j-1);
q_sort(string,j+1,right);
}
}
void quick(char *string,int n)
{
q_sort(string,0,n-1);
}
void main()
{
char string[MAX];
int count;
printf("put in string :");
gets(string);
count = strlen(string);
quick(string,count);
printf("/nput out anser: [%s/n]",string);
}