算法-快速排序-java实现
2010-09-26 12:31
801 查看
/** * 快速排序 * * 快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小, * 然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 * * @author yaoyuan * */ public class QuickSort { public static int[] QuickSort(int[] pData, int left, int right) { System.out.println("left is :" + left + " " + "right is : " + right); // left从0开始,right从数组的最大值开始 int i = left, j = right; int middle, strTemp; // 获取中间值 middle = pData[(left + right) / 2]; do { while ((pData[i] < middle) && (i < right)) { i++; } while ((pData[j] > middle) && (j > left)) { j--; } if (i <= j) { strTemp = pData[i]; pData[i] = pData[j]; pData[j] = strTemp; i++; j--; } } while (i <= j); if (left < j) { QuickSort(pData, left, j); } if (right > i) { QuickSort(pData, i, right); } return pData; } public static void main(String[] args) { int[] pData = { 6, 7, 3, 0, 2, 5, 13, 10, 11, 12 }; for (int t = 0; t < pData.length; t++) System.out.print(pData[t] + " "); System.out.println(""); QuickSort(pData, 0, pData.length - 1); System.out.println(""); for (int t = 0; t < pData.length; t++) System.out.print(pData[t] + " "); } }
相关文章推荐
- 算法外功修炼之一 快速排序的Java实现
- 算法实战java实现快速排序
- 【算法导论】快速排序java实现
- 快速排序quicksort-算法导论java实现
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- 算法代码实现之快速排序,Java实现
- 「算法」快速排序 Java 实现
- 排序算法之快速排序、归并排序(java实现)
- 3.快速排序——啊哈算法java实现
- [算法入门]快速排序非递归方法(Java实现),大家一起来找茬啊~
- Java实现排序算法之快速排序
- 算法代码实现之三向切分快速排序,Java实现
- 8大内部排序算法学习笔记--(2)快速排序 Java实现
- 快速排序的基本思想及Java实现
- java实现 排序算法之直接插入排序
- 【算法系列】——Java实现冒泡&&快速
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- 基本排序_快速排序_Java实现
- (数据结构与算法分析 一)------快速求幂算法,Java递归实现
- 冒泡排序,简单插入排序,快速排序,二分查找的JAVA实现