首页 > 编程知识 正文

快速排序算法java实现,快速排序算法java代码

时间:2023-05-04 01:08:29 阅读:21444 作者:386

快速排序图像

快速排序思路分析:

快速排序完整代码:

import java.util.Arrays; public class quick sort { publicstaticvoidmain (字符串[ ] args ) int [ ] arr={ 5,1,4,7,82,6,15,12,27,14 } QR System.out.println ('快速排序后='Arrays.tostring () arr ); } publicstaticvoidquick (int [ ] arr,int left,int right ) int left; //左下标int r=right; //右下标//pivot中心轴值intpivot=arr[(leftright )/2]; int temp=0; //交换时使用//while循环的目的是,一直在右边(while(LR )//pivot的左侧寻找小于pivot的值,然后在while (arrivot )以上的值如果(//L=R表示pivot左右两侧的值,则左边已经全部) /以下,右边全部在pivot值if以上(l=r ) ) {break; temp=arr[l]; arr[l]=arr[r]; arr[r]=temp; //交换完成后,该arr[1]==pivot等于r- -,前进的if(arr[l]==pivot({r-=1; //交换完成后,该arr[r]==pivot等于l,然后if(arr[r]==pivot({l=1; }//L==R时,必须为1,r--,否则堆栈溢出if(L===R ) {l =1; r -=1; (//左递归if ) left ) quick ) arr,left,r ); (//右递归if ) rightL ) quick ) ARR,l,r ); } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。