首页 > 代码库 > 蓝桥杯——基础练习之分治法_快速排序
蓝桥杯——基础练习之分治法_快速排序
分治法,分而治之,基本思路:分,解,和。
初探分治之快速排序。
public class _DividedConquer { static int[] iarr; public static void main(String[] args) { // TODO Auto-generated method stub iarr=new int[]{6,4,5,3,1,2}; quick(0, iarr.length-1); for(int i:iarr) { System.out.print(i+" "); } } static void quick(int p,int r) { if(p<r) { int q=part(p,r); quick( p, q-1); quick( q+1, r); } } static int part(int p,int r) { int x=iarr[r]; int i=p-1; for(int j=p;j<r;j++) { if(iarr[j]<x) { i++; int tmp=iarr[i]; iarr[i]=iarr[j]; iarr[j]=tmp; } } int tmp=iarr[i+1]; iarr[i+1]=iarr[r]; iarr[r] =tmp; return i+1; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。