第四届蓝桥杯B组第三题快速排序

xiaoxiao2021-02-28  124

package B2013; public class JAVAB3快速排序 { static void f(int[] x, int left, int right) { if(left >= right) return; int key = x[(left+right)/2]; int li = left; int ri = right; while(li<=ri){ while(x[ri]>key) ri--; while(x[li]<key) li++; if(ri>=li){ //填空位置 int t = x[li]; x[li] = x[ri]; x[ri] = t; li++; ri--; } } if(li < right) f(x, li, right); if(ri > left) f(x, left, ri); } public static void main(String[] args) { int[] num = {2,4,5,8,2,4,5,80,2,3,4}; f(num,0,num.length-1); for(int i=0;i<num.length;i++) System.out.print(num[i]+" "); } }
转载请注明原文地址: https://www.6miu.com/read-69374.html

最新回复(0)