快速排序
import java.util.Random;
public class QuickSort {
public static void main(String[] args) {
int[] arr = { 3, 1, 56, 3, 74, 45, 5 };
getSelect(arr, 0, arr.length - 1);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");
}
}
private static void getSelect(int arr[], int left, int right) {
if (left > right) {
return;
}
int base = arr[left];
int i = left;
int j = right;
while (i != j) {
while (arr[j] >= base && i < j) {
j--;
}
while (arr[i] <= base && i < j) {
i++;
}
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
arr[left] = arr[i];
arr[i] = base;
getSelect(arr, left, i - 1);
getSelect(arr, j + 1, right);
}
}
选择排序
import java.util.Arrays;
public class Test4 {
public static void main(String[] args) {
int array[]= {2,345,2,5,76,34,2,-345,345,-34};
getXuanZe(array);
System.out.println(Arrays.toString(array));
}
static void getXuanZe(int[]array) {
for (int i = 0; i < array.length; i++) {
int minKey=array[i];
for (int j = i; j < array.length; j++) {
if(minKey<array[j]) {
int temp=minKey;
minKey=array[j];
array[j]=temp;
}
}
array[i]=minKey;
}
}
}
冒泡排序
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = {24, 69, 80, 57, 13};
System.out.println("排序前:" + arrayToString(arr));
for (int x = 0; x < arr.length - 1; x++) {
for (int i = 0; i < arr.length - 1 - x; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
System.out.println("排序后:" + arrayToString(arr));
}
public static String arrayToString(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(",");
}
}
sb.append("]");
String s = sb.toString();
return s;
}
}