您的位置:首页 > 娱乐 > 明星 > 北京企业官网建站_北京seo优化费用_免费正规大数据查询平台_b2b电子商务平台网站

北京企业官网建站_北京seo优化费用_免费正规大数据查询平台_b2b电子商务平台网站

2025/2/23 22:18:19 来源:https://blog.csdn.net/m0_74977981/article/details/142890492  浏览:    关键词:北京企业官网建站_北京seo优化费用_免费正规大数据查询平台_b2b电子商务平台网站
北京企业官网建站_北京seo优化费用_免费正规大数据查询平台_b2b电子商务平台网站

现有 arr= {4,8,9,2,7}数组,请用快速排序的方式实现从小到大排序:

方法:

1.定义待排序数组中的第一个值为基准数;

2.定义j游标,从后向前移动找到第一个比基准数小的值停下;

3.定义i游标,从后向前移动找到第一个比基准数大的值停下;

4.i和j数值交换;

5.重复2-4步骤直到i和j相遇;

6.基准数和相遇位置的数据进行交换,交换完后的基准数到达正确位置;

7.以基准数为起始点,分为左右两部分,重复上述1-6步骤,直至数据都被拆分开结束

完整代码:

package Java.start;import java.util.Arrays;public class quickSort {
//快速排序public static void main(String[] args) {int[] arr= {4,8,9,2,7};Sort(arr, 0, arr.length-1);System.out.println(Arrays.toString(arr));}public static void Sort(int[] arr,int left,int right) {if(left>=right) {//为了防止过界(!注意)return;//递归出口}int base=arr[left];//System.out.println(base+"base");int i=left;int j=right;while(i!=j) {//	j游标从后向前移动,找比基准数更小的while(arr[j]>=base&&i<j) {j--;}//i游标从前向后移动,找比基准数更大的while(arr[i]<=base&&i<j) {i++;}//i和j交换int temp=arr[i];arr[i]=arr[j];arr[j]=temp;}//i和j相遇,基准数和相遇位置进行交换arr[left]=arr[i];arr[i]=base;//排序左边Sort(arr,left,i-1);//排序右边Sort(arr,i+1,right);}}

结果:
 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com