首页 > 编程知识 正文

快速排序java算法,快速排序详解

时间:2023-05-04 14:42:41 阅读:31660 作者:2300

代码实现(附注释)

import java.util.Arrays; public class main { publicstaticvoidmain (string [ ] args ) int [ ] arr={ 9,3,7,3,6,5,3,2,1,0 }; System.out.println ('排序前:'); 系统. out.println (arrays.tostring (arr ) ); 快速排序(arr,0,arr.length - 1 ); system.out.println (system.out.println (arrays.tostring (arr ) ); //publicstaticvoidquicksort (int [ ] nums,int start,int end )//递归出口if ) { return; //相对于数组的第一个值int key=nums[start];//定义两个指针int left=start的int right=end; wile (左!=right(//找到小于第一个参考值的值,然后将右指针指向该while (rightleftnums [ right ]=key ) right----; //找到大于第一个参考值的值,然后将左指针指向该while (左权限编号[ left ]=key )。 (根据//条件,将左指针所指的值和右指针所指的值定义为if (左光线) ) int tmp=nums (左); nums[left]=nums[right]; nums[right]=tmp; }//此时,左右指针指向相同位置,使基准值和该位置的值为nums[start]=nums[left]; nums[left]=key; //递归快速排序左序列一次(nums,start,left - 1 ); //右边序列递归快速排序(nums,left 1,end ); }} 执行结果

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