`

Java快排

    博客分类:
  • Java
阅读更多
public static void quickSort(double[] array, int i, int j) {
		if (j <= i)
			return;

		int pivotIndext = (i + j) / 2;
		swap(array, pivotIndext, j);

		int k = partition(array, i - 1, j, array[j]);
		swap(array, j, k);

		quickSort(array, i, k - 1);
		quickSort(array, k, j);
	}

	public static int partition(double[] array, int left, int right, double pivot) {
		do {
			while (array[++left] < pivot)
				;
			while ((left < right) & (pivot < array[--right]))
				;
			swap(array, left, right);
		} while (left < right);
		return 0;
	}

	public static void swap(double[] data, int a, int b) {
		double t = data[a];
		data[a] = data[b];
		data[b] = t;
	}

 

分享到:
评论

相关推荐

    快排算法java

    在Java中,快速排序广泛应用于对象排序,而对于基本数据类型则更倾向于使用其他算法,如双轴快速排序或插入排序。 ### 快速排序的基本思想 快速排序的基本思想是将待排序数组分为两个部分:一部分的所有元素都比另...

    java快速排序、随机优化快排

    java快速排序,和随机优化快排 注解详细,多个版本可选,最简洁版、最高效率版、随机优化版...

    并行计算块排java实现

    ### 并行快速排序Java实现解析 #### 一、引言 在计算机科学领域,并行计算作为一种提升程序执行效率的方法,被广泛应用于多种场景。快速排序(Quicksort)是一种非常高效的排序算法,在单线程环境下已经表现出色,...

    java编写的快排算法

    4. **Java实现**:在Java中,可以创建一个方法`quickSort()`,接受一个整型数组和两个整数作为参数,表示要排序的数组和子数组的边界。在方法内部,先执行分区操作,然后对子数组进行递归调用`quickSort()`。 ```...

    Java实现的快速排序和随机快排

    - **尾递归优化**:当子数组大小小于某个阈值时,可以改用插入排序,因为对于小数组,插入排序可能更快。 通过理解和掌握这些知识点,你将能够实现并理解Java中的快速排序及其随机化版本,同时也能分析其性能和...

    java中常见排序的所有demo,包含冒泡,选择,插入,快速,堆,希尔,二叉树等

    在Java编程语言中,排序是数据处理和算法分析的核心部分。以下是对标题和描述中提到的各种排序算法的详细解释: 1. **冒泡排序(Bubble Sort)**:冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一...

    快速排序的六种实现,单轴快排,双轴快排JAVA实现

    http://blog.csdn.net/Holmofy/article/details/71168530 这篇文章的实现代码

    Java经典快排思想以及快排的改进讲解

    Java经典快排思想以及快排的改进讲解 Java经典快排思想是指经典的快速排序算法,该算法的思想是通过选择一个标准数,将数组分为两部分,使得标准数的部分在左边,&gt;标准数的部分在右边。然后,对左边和右边分别递归...

    JAVA实现Bently版快排

    迪杰斯特拉的三路切分的快排的改进版,Benly版本

    排序算法包(堆排序,快排等各种排序算法)

    排序算法包 各种排序算法 java源 堆排序,快排等各种排序算法

    基于Java的车间调度智能排产集成框架设计源码

    《基于Java的车间调度智能排产集成框架设计源码解析》 在当今信息化时代,车间生产管理的智能化已经成为提升企业竞争力的重要手段。本项目提供的基于Java的车间调度智能排产集成框架,旨在解决传统车间生产过程中的...

    Quickly3way.rar_三路快排java

    在Java中实现三路快排,我们可以创建一个名为`Quickly3way`的类,其中包含一个用于排序的`sort`方法。这个方法首先选择一个基准值(通常选择数组的第一个元素),然后遍历数组,将小于、等于和大于基准值的元素分别...

    java代码-2.快速排序(经典快排,使用引入1,递归)

    它的基本思想是分治法(Divide and Conquer),通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目标。...

    java版 快排 冒泡 9x9表 阶乘

    在本资源中,包含了三个Java程序,分别是Sort.java(快速排序)、Factorial.java(阶乘计算)和Multiplication.java(9x9乘法表)。这三个程序涵盖了基础算法、数组操作和数学计算等核心Java编程概念。 1. **快速...

    倒排索引java实现

    在Java中实现倒排索引,可以利用标准库或者其他第三方库,如Apache Lucene,但这里我们主要讨论基于自定义代码的实现。 首先,我们需要理解倒排索引的基本原理。倒排索引由两部分组成:词典(Dictionary)和倒排...

    java快速排序动画jar

    之前做的四种排序动画,快排比较快,所以为快排专门做一个动画

    Java实现几种常见排序方法-直插、冒泡、选择、快排、堆排等

    Java编程中,排序算法是基础且重要的知识点,它主要负责对数据集进行排序,以便进行更高效的数据检索和处理。在给定的文档中,介绍了多种常见的排序算法,包括冒泡排序、快速排序、选择排序、插入排序等,并提供了...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    Hoare提出,采用“分而治之”的策略,选择一个基准元素,通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。...

    冒泡归并和快速排序java源码

    在提供的"冒泡归并和快排"压缩包文件中,你将找到这些排序算法的Java实现,可以直接运行并观察它们的排序效果。这些源代码可以帮助你理解每种排序算法的工作原理,并在实践中应用它们。对于学习和提升Java编程技能,...

    快速排序.Java快速排序.Java快速排序.Java

    软件工程、快速排序法。绝顶的好东西。快速排序.Java快速排序.Java快速排序.Java

Global site tag (gtag.js) - Google Analytics