📄 quicksort.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -