#include <stdio.h>
#include <string.h>
void quicksort(char*,int,int);
int partition(char*,int,int);
int main(void)
{
char arr[1024];
scanf("%s",arr);
int len = strlen(arr);
quicksort(arr,0,len-1);
for(int i =0;i < len;i++)
{
printf("%c",arr[i]);
}
return 0;
}
void quicksort(char* A,int p,int r)
{
int q;
if(p < r)
{
q = partition(A,p,r);
quicksort(A,p,q-1);
quicksort(A,q+1,r);
}
return;
}
int partition(char* A,int p,int r)
{
int x = A[r];
int i = p-1;
int q;
for(int j = p;j < r;j++)
{
if(A[j] <= x)
{
i++;
q = A[i];A[i] = A[j];A[j] = q;
}
}
q = A[i+1];A[i+1]=A[r];A[r]=q;
return i+1;
}
华为OJ基础第三题 字符快速排序
最新推荐文章于 2021-12-18 10:49:26 发布