quicksort.java
来自「包括了5个基本排序过程」· Java 代码 · 共 58 行
JAVA
58 行
public class QuickSort
{
private double[] unsorted;
private double[] sorted;
public QuickSort ()
{
}
public QuickSort (double[] temp)
{
setdata(temp);
sort();
}
public void setdata(double[] temp)
{
unsorted=new double[temp.length];
sorted=new double[temp.length];
for(int i=0;i<temp.length;i++)
{
sorted[i]=unsorted[i]=temp[i];
//System.out.println(sorted[i]);
}
}
public void sort()
{
sortting(0,sorted.length-1);
}
public double[] getresult()
{
return sorted;
}
private void sortting(int L,int R)
{
if(L>=R)return;
double tem=0;
int m=L;//选取第一个为基准
for(int i=L+1;i<=R;i++)
{
if(sorted[i]<=sorted[m])
{
tem=sorted[m+1];
sorted[m+1]=sorted[i];
sorted[i]=tem;
tem=sorted[m+1];
sorted[m+1]=sorted[m];
sorted[m]=tem;
m++;
}
}
sortting(L,m-1);//这里容易边界溢出。。比如m-1<L
sortting(m+1,R);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?