代码实现:
import java.util.Scanner;
public class P4_10 {
static void kuaiSu(char[] a,int left,int right) //字符快速排序
{
int f,l,r;
char t;
l=left;
r=right;
f=a[(left+right)/2];
while(l<r)
{
while(a[l]<f) ++l;
while(a[r]>f) --r;
if(l<=r)
{
t=a[l];
a[l]=a[r];
a[r]=t;
++l;
--r;
}
}
if(l==r)
l++;
if(left<r)
{
kuaiSu(a,left,l-1); //递归调用
}
if(l<right)
{
kuaiSu(a,r+1,right); //递归调用
}
}
public static void main(String[] args)
{
char[] str=new char[80];
int N;
System.out.print("输入一个字符串:");
Scanner input=new Scanner(System.in);
str=input.next().toCharArray(); //输入字符串
N=str.length;
System.out.print("排序前:\n");
System.out.println(str); //输出
kuaiSu(str,0,N-1); //排序
System.out.print("排序后:\n");
System.out.print(str); //输出
}
}
运行结果:
输入一个字符串:wjofejamglasdljg
排序前:
wjofejamglasdljg
排序后:
aadefggjjjllmosw

本文介绍了一种字符快速排序算法的Java实现方法,并通过具体示例演示了如何使用该算法对字符串进行排序。该算法采用递归的方式进行分区并排序,能够有效地提高排序效率。
580

被折叠的 条评论
为什么被折叠?



