使用工具类
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 将给定数组排序
* @param arr int整型一维数组 待排序的数组
* @return int整型一维数组
*/
public int[] MySort (int[] arr) {
// write code here
Arrays.sort(arr);
return arr;
}
}
冒泡排序
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 将给定数组排序
* @param arr int整型一维数组 待排序的数组
* @return int整型一维数组
*/
public int[] MySort (int[] arr) {
// write code here
for (int i = 0; i < arr.length; i++){
for (int j = i + 1; j < arr.length; j++){
if (arr[i] > arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
}
快速排序
import java.util.*;
public class Solution {
/**
快排
冒泡排序的升级版本
1.首先任意选择一个点,作为他的基础节点
2.然后开始从左往右开始找
找到一个比他小的,再找到一个比他大的,开始进行替换
一直循环这个操作,直到所有的都替换为
*/
public int[] MySort (int[] arr) {
// write code here
quickSort(arr, 0 , arr.length - 1);
return arr;
}
private void quickSort(int[] arr, int left, int right){
if (left >= right){
return;
}
int start = arr[left];
int i = left;
int j = right;
while (i < j){
while (j > i && arr[j] > start){
j--;
}
while (i < j && arr[i] <= start){
i++;
}
swap(arr, i, j);
}
swap(arr, i ,left);
quickSort(arr, left, i - 1 );
quickSort(arr, i + 1, right);
}
private void swap(int[] arr, int i, int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}