快速排序法
package com.zxj.demo1;
import java.util.Arrays;
public class QuickSort {
public static void sort(int[] arr,int head,int tail) {
if(head>=tail||arr==null||arr.length<=1) {
return;
}
int i=head,j=tail,pivot = arr[(head+tail)/2];
while(i<=j) {
while(arr[i]<pivot) {
++i;
}
while(arr[j]>pivot) {
--j;
}
if(i<j) {
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
++i;
--j;
}else if(i==j) {
++i;
}
}
sort(arr,head,j);
sort(arr,i,tail);
}
public static void main(String[] args) {
int[] ints = {5,3,4,1,2};
sort(ints,0,ints.length-1);
System.out.println(Arrays.toString(ints));
}
}
起泡排序法
package com.zxj.demo1;
import java.util.Arrays;
public class BubbleSort {
public static void sort(int[] arr) {
for(int i =0;i<arr.length;i++) {
for(int j=0;j<arr.length-i-1;j++) {
if(arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] ints = {5,3,4,1,2};
sort(ints);
System.out.println(Arrays.toString(ints));
}
}
插入排序法
package com.zxj.demo1;
import java.util.Arrays;
public class InsertSort {
public static void sort(int[] arr) {
int temp;
for(int i=1;i<arr.length;i++) {
for(int j=0;j<i;j++) {
if(arr[i]<arr[j]) {
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
public static void main(String[] args) {
int[] ints = {5,3,4,1,2};
sort(ints);
System.out.println(Arrays.toString(ints));
}
}
归并排序法
package com.zxj.demo1;
import java.util.Arrays;
public class MergeSort {
public static void mergeSort(int[] arrays,int left,int right) {
if(left<right) {
int middle = (left+right)/2;
mergeSort(arrays, left, middle);
mergeSort(arrays, middle+1, right);
merge(arrays,left,middle,right);
}
}
private static void merge(int[] arr, int left, int middle, int right) {
int[] temp = new int[right-left+1];
int i=left;
int j = middle+1;
int k=0;
while(i<=middle&&j<=right) {
if(arr[i]<arr[j]) {
temp[k++] = arr[i++];
}else {
temp[k++] = arr[j++];
}
}
while(i<=middle) {
temp[k++] = arr[i++];
}
while(j<=right) {
temp[k++]=arr[j++];
}
for(int l=0;l<temp.length;l++) {
arr[l+left] = temp[l];
}
}
public static void main(String[] args) {
int[] ints = {5,3,4,1,2};
mergeSort(ints, 0, ints.length-1);
System.out.println(Arrays.toString(ints));
}
}