package com.hym.test.algorithms;
public class QuickSort {
private int[] arrayTest = { 5, 26, 1, 783, 23, 2, 62, 9, 46 };
public void quickSort(int left, int right) {
if (right - left <= 0) {
return;
} else {
int pivot = arrayTest[right];
int partition = partitionIt(left, right, pivot);
quickSort(left, partition - 1);
quickSort(partition + 1, right);
}
}
public int partitionIt(int left, int right, int pivot) {
int begin = left - 1;
int end = right;
while (true) {
while (arrayTest[++begin] < pivot)
;
while (end > 0 && arrayTest[--end] > pivot)
;
if (begin >= end) {
break;
} else {
swap(begin, end);
}
}
swap(begin, right);
return begin;
}
public void swap(int begin, int end) {
int temp = arrayTest[begin];
arrayTest[begin] = arrayTest[end];
arrayTest[end] = temp;
}
public static void main(String args[]) {
QuickSort sort = new QuickSort();
sort.quickSort(0, sort.arrayTest.length - 1);
for (int i = 0; i < sort.arrayTest.length; i++) {
System.out.print(sort.arrayTest[i] + " ");
}
}
}
快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
http://baike.baidu.com/view/115472.htm
分享到:
相关推荐
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and ...由于快速排序的常数因子较小,且在大多数情况下性能良好,因此它是实践中广泛使用的排序算法之一。
java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045
快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法....
"快速排序算法java代码" ...*Scientific computing:快速排序算法可以用于科学计算中的排序操作。 快速排序算法是一种高效、稳定、广泛应用的排序算法,它有很多优点和缺点,但它仍然是目前最快的排序算法之一。
快速排序在处理大规模数据时表现出优秀的性能,是实际应用中最常用的排序算法之一。 在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现...
Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术...
Java 算法之快速排序实现代码 快速排序是一种常用的排序算法, Java 实现的快速排序算法主要通过选择一个基准元素,通常选择第一个元素或者最后一个元素,然后通过一趟扫描,将待排序列分成两部分,一部分比基准...
Java 快速排序,目前来说效率很高的一种排序算法,好理解。
快速排序 * 1.i=left,j=right,将基准数挖出形成第一个坑a[i]; * 2.j--由后向前找比它小的数,找到后挖出此数填前一个坑a[i]; * 3.i++由前向后找比它大的数,找到后挖出此数填到前一个坑a[j]中 * 4.以i为中线,...
这份资源提供了Java中如何实现快速排序的全面指南。文档中涵盖了快速排序的基本概念,包括如何对数组进行排序以及如何在Java中实现快速排序。此外,文档还包括一个逐步指南,介绍了如何在Java中实现快速排序,包括...
总的来说,快速排序和折半查找是计算机科学中不可或缺的算法,通过递归和分治策略,可以在Java中高效地实现这些算法,并结合界面设计,为用户提供直观的交互体验。在实际项目中,理解和掌握这些算法有助于优化数据...
总之,这个Java实现的快速排序演示项目不仅提供了排序算法的实现,还考虑到了教育和演示的需求,通过可视化工具帮助用户更好地理解和学习快速排序的工作机制。通过深入研究这个项目,可以加深对快速排序以及分治策略...
### JAVA实现的快速排序 #### 知识点详解 **一、快速排序算法介绍** 快速排序(Quick Sort)是一种非常高效的排序算法,采用分治法(Divide and Conquer)策略来把一个序列分为较小和较大的两个子序列,然后递归...
以下是一个简单的`SortUtil.java`文件中的快速排序算法实现: ```java public class SortUtil { public static void quickSort(int[] arr, int low, int high) { if (arr == null || arr.length == 0) return; ...
在这个示例中,`QuickSort.java`文件可能包含了完整的快速排序算法实现。代码会提供清晰的注释,帮助理解每个部分的功能和作用。你可以通过学习这段代码来加深对快速排序算法的理解,并能将其应用到自己的项目中。...
这是一个用Java语言实现的快速排序算法,快速排序算法是根据分冶思想去实现的。
JAVA实现快速排序 快速排序是一种高效的排序算法,它的实现可以分为两个部分:基本思想和复杂度分析。在基本思想中,快速排序采用“分而治之”的思想,把大的拆分为小的,小的拆分为更小的,直到序列中的所有记录均...
根据给定文件的信息,本文将围绕“用Java实现快速排序”的主题进行展开,不仅解析标题与描述中的核心知识点,还会对部分代码示例进行解读,最后结合这些信息给出一个完整的快速排序算法实现。 ### 快速排序算法简介...
以下将详细讲解标题和描述中提到的五种排序算法:选择排序、插入排序、自顶向上合并排序、合并排序以及快速排序。 1. **选择排序(Selection Sort)** 选择排序是一种简单直观的排序算法,它的工作原理是每一次从待...
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的...