冒泡排序
import java.util.Arrays;
public class Text3 {
public static void main(String[] args) {
int[] arr = {43,77,13,95,38,69};
sort(arr);
System.out.println(Arrays.toString(arr));
}
public static void sort(int[] arr){
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
选择排序
import java.util.Arrays;
public class Text4 {
public static void main(String[] args) {
int[] arr={45,21,34,78,94,62,30};
xsort(arr);
System.out.println(Arrays.toString(arr));
}
public static void xsort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int min = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[min] > arr[j]){
min = j;
}
}
int temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
}
插入排序
import java.util.Arrays;
public class Text5 {
public static void main(String[] args) {
int[] arr={23,56,12,94,37,83,29};
xsort(arr);
System.out.println(Arrays.toString(arr));
}
public static void xsort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
int preIndex = i - 1;
while (preIndex >= 0 && arr[preIndex] > num){
arr[preIndex + 1] = arr[preIndex];
preIndex--;
}
arr[preIndex + 1] = num;
}
}
}
二分查找
public class Text6 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int key = 6;
int index = find(arr,key);
System.out.println(index);
}
public static int find(int[] arr, int key) {
int left = 0;
int right = arr.length - 1;
int index = -1;
while (left <= right){
int middle = (left + right) >> 1;
if (arr[middle] == key){
index = middle;
return index;
} else if (arr[middle] > key) {
right = middle - 1;
}else {
left = middle + 1;
}
}
return index;
}
}
快速排序
import java.util.Arrays;
public class Text7 {
public static void main(String[] args) {
int[] arr = {23, 68, 42, 93, 17, 58, 43};
quickSort(arr,0, arr.length-1);
System.out.println(Arrays.toString(arr));
}
public static void quickSort(int[] arr, int start, int end) {
if (start >= end) {
return;
}
int left = start;
int right = end;
int base = arr[start];
while (left < right) {
while (left < right && arr[right] >= base){
right--;
}
while (left < right && arr[left] <= base){
left++;
}
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
arr[start] = arr[left];
arr[right] = arr[start];
quickSort(arr,0,left - 1);
quickSort(arr,left + 1,end);
}
}