java实现快速排序_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java实现快速排序

java实现快速排序

 2014/7/18 12:27:50  墙头上一根草  程序员俱乐部  我要评论(0)
  • 摘要:publicclassQuickSort{publicvoidsort(int[]arr,intlow,inthigh){intpos=0;if(low<high){pos=part(arr,low,high);sort(arr,low,pos-1);sort(arr,pos+1,high);}}publicintpart(int[]arr,intlow,inthigh){//将枢轴位置的记录保存下来inttemp=arr[high];while(low<high){while
  • 标签:实现 Java 快速排序

public class QuickSort{
?? ?public? void sort(int[] arr,int low,int high){
?? ??? ?int pos=0;
?? ??? ?if(low<high){
?? ??? ??? ?pos=part(arr,low,high);
?? ??? ??? ?sort(arr,low,pos-1);
?? ??? ??? ?sort(arr,pos+1,high);
?? ??? ?}
?? ?}
?? ?public? int part(int[] arr,int low,int high){
?? ??? ?//将枢轴位置的记录保存下来
?? ??? ?int temp = arr[high];
?? ??? ?while(low<high){
?? ??? ??? ?while(low<high&&arr[low]<=temp){
?? ??? ??? ??? ?low++;
?? ??? ??? ?}
?? ??? ??? ?if(low<high){
?? ??? ??? ???????? arr[high--]=arr[low];
?? ??? ??? ?}
?? ??? ??? ?while(low<high&&arr[high]>temp){
?? ??? ??? ??? ?high--;
?? ??? ??? ?}
?? ??? ??? ?if(low<high){
?? ??? ??? ???????? arr[low++]=arr[high];
?? ??? ??? ?}
?? ??? ?}
?? ??? ?//找到最终的枢轴的位置,将保存的记录放到改位置
?? ??? ?arr[high]=temp;
?? ??? ?return high;
?? ?}
}

发表评论
用户名: 匿名