版权声明:本人发布内容起于爱好,仅限于参考,若有侵权请联系本人予以更正。 https://blog.csdn.net/baidu_38225647/article/details/81230929
在下边工具类MyArrays中
思路:
import java.util.Arrays;
public class MyArray {
public static double getMax(double[] arr) {
double max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (max < arr[i]) {
double temp = max;
max = arr[i];
arr[i] = temp;
}
}
return max;
}
public static double getMin(double[] arr) {
double min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (min > arr[i]) {
double temp = min;
min = arr[i];
arr[i] = temp;
}
}
return min;
}
public static double getLength(double[] arr) {
return arr.length;
}
// 快速排序
public static void sort(double[] arr) {
quickSort(arr,0,arr.length);
}
// 一趟
public static int adjustArray(double[] arr, int s, int l) {
int i = s, j = l - 1;
double temp = arr[i];
while (i < j) {
// 由左向右查找小于temp的数
while (i < j && arr[j] >= temp) {
j--;
}
if (i < j) {
arr[i] = arr[j];
i++;
}
while (i < j && arr[i] <= temp) {
i++;
}
if (i < j) {
arr[j] = arr[i];
j--;
}
}
arr[i] = temp;
System.out.println(i);
return i;
}
// 分治,递归调用
public static void quickSort(double[] arr, int s, int l) {
if (l - s > 0) {
int i = adjustArray(arr, s, l);
quickSort(arr, i + 1, l);
quickSort(arr, s, i);
}
}
public static void print(double[] arr) {
System.out.println(Arrays.toString(arr));
}
public MyArray() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
double[] arr = { 1, 2, 5, 3, 6, 3, 2, 5 };
/*System.out.println(getMax(arr));
System.out.println(getMin(arr));*/
sort(arr);
print(arr);
}
}
ps:本人java小白,望路过大佬指点