Skip to content

Commit d4f8ed5

Browse files
committed
去除java中无意义的数组拷贝。
1 parent 401a3ca commit d4f8ed5

File tree

10 files changed

+10
-41
lines changed

10 files changed

+10
-41
lines changed

src/java/main/BubbleSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
public class BubbleSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
9+
public int[] sort(int[] arr) throws Exception {
1310
for (int i = 1; i < arr.length; i++) {
1411
// 设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已经完成。
1512
boolean flag = true;

src/java/main/BucketSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ public class BucketSort implements IArraySort {
88
private static final InsertSort insertSort = new InsertSort();
99

1010
@Override
11-
public int[] sort(int[] sourceArray) throws Exception {
12-
// 对 arr 进行拷贝,不改变参数内容
13-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
14-
11+
public int[] sort(int[] arr) throws Exception {
1512
return bucketSort(arr, 5);
1613
}
1714

src/java/main/CountingSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
public class CountingSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
9+
public int[] sort(int[] arr) throws Exception {
1310
int maxValue = getMaxValue(arr);
1411

1512
return countingSort(arr, maxValue);

src/java/main/HeapSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
public class HeapSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
9+
public int[] sort(int[] arr) throws Exception {
1310
int len = arr.length;
1411

1512
buildMaxHeap(arr, len);

src/java/main/InsertSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
public class InsertSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
9+
public int[] sort(int[] arr) throws Exception {
1310
// 从下标为1的元素开始选择合适的位置插入,因为下标为0的只有一个元素,默认是有序的
1411
for (int i = 1; i < arr.length; i++) {
1512

src/java/main/MergeSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
public class MergeSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
9+
public int[] sort(int[] arr) throws Exception {
1310
if (arr.length < 2) {
1411
return arr;
1512
}

src/java/main/QuickSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
public class QuickSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
9+
public int[] sort(int[] arr) throws Exception {
1310
return quickSort(arr, 0, arr.length - 1);
1411
}
1512

src/java/main/RadixSort.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@
88
public class RadixSort implements IArraySort {
99

1010
@Override
11-
public int[] sort(int[] sourceArray) throws Exception {
12-
// 对 arr 进行拷贝,不改变参数内容
13-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
14-
11+
public int[] sort(int[] arr) throws Exception {
1512
int maxDigit = getMaxDigit(arr);
1613
return radixSort(arr, maxDigit);
1714
}

src/java/main/SelectionSort.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
public class SelectionSort implements IArraySort {
77

88
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
11-
9+
public int[] sort(int[] arr) throws Exception {
1210
// 总共要经过 N-1 轮比较
1311
for (int i = 0; i < arr.length - 1; i++) {
1412
int min = i;

src/java/main/ShellSort.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
import java.util.Arrays;
2-
31
/**
42
* 希尔排序
53
*/
64
public class ShellSort implements IArraySort {
75

86
@Override
9-
public int[] sort(int[] sourceArray) throws Exception {
10-
// 对 arr 进行拷贝,不改变参数内容
11-
int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
12-
7+
public int[] sort(int[] arr) throws Exception {
138
int gap = 1;
149
while (gap < arr.length) {
1510
gap = gap * 3 + 1;

0 commit comments

Comments
 (0)