Java实现快排的算法
public class QuickSort {
/**
* 快速排序
* @param strDate
* @param left
* @param right
*/
public void quickSort(String[] strDate,int left,int right){
String middle,tempDate;
int i,j;
i=left;
j=right;
middle=strDate[(i+j)/2];
do{
while(strDate[i].compareTo(middle)<0&& i<right)
i++; //找出左边比中间值大的数
while(strDate[j].compareTo(middle)>0&& j>left)
j--; //找出右边比中间值小的数
if(i<=j){ //将左边大的数和右边小的数进行替换
tempDate=strDate[i];
strDate[i]=strDate[j];
strDate[j]=tempDate;
i++;
j--;
}
}while(i<=j); //当两者交错时停止
if(i<right){
quickSort(strDate,i,right);//从
}
if(j>left){
quickSort(strDate,left,j);
}
}
/**
* @param args
*/
public static void main(String[] args){
String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"};
QuickSort sort=new QuickSort();
sort.quickSort(strVoid,0,strVoid.length-1);
for(int i=0;i<strVoid.length;i++){
System.out.println(strVoid[i]+" ");
}
}
}
分享到:
相关推荐
java程序编写的快排算法quicksort算法
快排的描述,是英文版本的,内含代码,基于java的。
用java实现策略模式,strategy Patten,使用三种不同的排序算法实现策略模式,可执行代码,可直接读取文件中需要排序的数据
排序算法包 各种排序算法 java源 堆排序,快排等各种排序算法
用java实现了以下算法: 1、冒泡排序、冒泡排序的两种改进。 2、插入排序。 3、选择排序。 4、希尔排序。 5、归并排序。 6、快速排序。
* 快排:O(n*logn);如果是从小到大排序; * 思想:选一个关键数据,将数组分成以关键数据分割的独立两个子数组;比关键数据小的在左边,大的在右边,然后递归; * @author wangchao */ public class Kuaipai { ...
用蛮力法实现选择排序,冒泡排序程序;用减治法实现插入排序;分治法应用-快排,合并排序,0-1背包问题;Prim算法求最小生成树。伪代码以及java代码实现
枚举排序、快速排序、归并排序的串行算法及对应的简单并行算法,java实现,可自由选择线程数。代码仅供参考。
IT常见的面试题目,各种排序算法的Java代码实现,内部有代码和详细的注释信息。
快速排序算法java实现,此程序所排序数组在程序中给出,没有输入。
java代码实现的排序算法(冒泡,快速,简单选择,堆排,直接插入,希尔,归并),代码本身的注释不多,主要注释的还是当前排序算法的一些特点,比如时间复杂度,空间复杂度,一趟排序后数列的特点。适合了解算法性质...
总结了常用的八大排序算法:(交换式:1、冒泡,2、快排; 选择式:3、选择, 4、堆排; 插入式:5、插入, 6、希尔; 其他:7、归并, 8、基数排序)。 并包含了Java实现的源代码。
直到最后研究测试才发现,其中还是很复杂的,还是有很大的门道,尤其是在19年算法调整之后,之后通过不断的测试,不断的研究,中间研究测试过、快排、蜘蛛池、外链、秒拍、站群等;涉及百度、360、和搜狗,才测试出...
快排、归并、希尔等基本算法视频及使用Java代码进行实现;(真人模拟排序,让排序更加形象,算法更容易理解)
BUC算法,没用到任何与STL相关的内容,使用的初始化的结构是avltree,BUC内含计数排序、插排和快排
java编写的几种排序算法,包括冒泡排序、快排、堆排序等,用于学习数据结构,使用Java原生sdk实现,可以运行。
用java做的一个小的排序算法演示程序,用线程控制访问,共7个算法,包括冒泡,选择,希尔,插入,归并,堆,快排。。
随机快排 O(N*logN) O(logN) 不稳定 无关 插入 直接插入排序 O(n^2) O(1) 稳定 有关 希尔排序 O(n^3/2^) O(1) 不稳定 选择 直接选择排序 O(n^2) O(1) 不稳定 无关 堆排序 O(N*logN) O(1) 不稳定 无关 分治 归并排序 ...
归并排序,消除递归归并排序,快排,Java实现
## 九种内部排序算法的Java实现及其性能测试 ### 9种内部排序算法性能比较 第九种为java.util.Arrays.sort(改进的快速排序方法) 1. 100000的随机数据集 ![](http://7xlkoc.com1.z0.glb.clouddn.com/sort1.jpg) ...