求java快速排序的正确代码

import java.util.concurrent.Executors;public class 快速排序_1 { public static void main(String[] args) throws InterruptedException { int test[] = {15,23,56,7,13,52,20,7};new 快速排序_1().qSort(test, 0, test.length-1);for(int k:test) System.out.println(k);} public vo...
求java快速排序的正确代码
一趟快速怕序的具体做法是:附设两个指针low和high,他们的初值分别为low和high,设枢轴记录的关键字为privotkey,则首先从high所指位置向前搜索找到第一个关键字小于pivotkey的记录和枢轴记录互相交换,然后从low所指向的位置起向后搜索,找到第一个关键字大于privotkey的记录和枢轴记录互相交换,重复这两步直至low==high位置.

import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class 快速排序_1 {
public static void main(String[] args) throws InterruptedException {
int test[] = {15,23,56,7,13,52,20,7};
new 快速排序_1().qSort(test, 0, test.length-1);
for(int k:test) System.out.println(k);
}
public void qSort(int []array,int low,int high){
if(low
int privot=partition(array,low,high);
qSort(array,low,privot-1);
qSort(array,privot+1,high);
}
}
public int partition(int [] array,int low,int high){
/**
* 选择 low位置 作为曲轴(支点)
*/
int pivot=array[low];
int temp=0;
/**
* 如果 low
*/
while(low
/**
* 先从 high端 开始判断
*/
while(low=pivot) high--;
/**
* 进行 置换操作
*/
if(low
array[low]=array[high];
low++;
}
/**
* 从 low 端判断
*/
while(low
/**
* 进行 置换操作
*/
if(low
array[high]=array[low];
high--;
}
}
array[low]=pivot;
return low;
}
}2010-07-14
给你一种方法,我想你应该了解冒泡排序吧,这种方法是根据它改进的。因为冒泡排序前几次几乎相当于遍历整个数组了,所以我们先遍历一遍,把这些数分成两组,一组相对大的,和另一组小的,对这两组分别排序,最后合并。对数据很多的,还可以分更多组,这样会快一些。2010-07-14
java中数组有一个叫SORT的函数,你直接调用其就可以实现排序。如果你要自己编写排序那就用起泡法吧2010-07-14
mengvlog 阅读 33 次 更新于 2025-08-07 21:57:21 我来答关注问题0
  • import java.util.concurrent.Executors;public class 快速排序_1 { public static void main(String[] args) throws InterruptedException { int test[] = {15,23,56,7,13,52,20,7};new 快速排序_1().qSort(test, 0, test.length-1);for(int k:test) System.out.println(k);} public vo...

  • 以下是快速排序算法:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率...

  •  折柳成萌 Java通过几种经典的算法来实现数组排序

    args[i]=args[j]; args[j]=temp; } } } return args; } 选择排序算法 public static int[] selectSort(int[] args){//选择排序算法 for (int i=0;i

  • java编程实现随机数组的快速排序步骤如下:1、打开Eclipse,新建一个Java工程,在此工程里新建一个Java类;2、在新建的类中声明一个产生随机数的Random变量,再声明一个10个长度的int型数组;3、将产生的随机数逐个放入到数组中;4、利用排序算法对随机数组进行排序。具体代码如下:import java.util.Rando...

  • 快速排序的Java实现:private static boolean isEmpty(int[] n) { return n == null || n.length == 0;} // /// / 快速排序算法思想——挖坑填数方法:param n 待排序的数组 / public static void quickSort(int[] n) { if (isEmpty(n))return;quickSort(n, 0, n.length - 1);...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部