import java.util.Arrays;
public class MySort {
public static void main(String[] args) {
int[] arr1=new int[]{3,12,4,2,5,0,9,6};
System.out.println("原数组:"+Arrays.toString(arr1));
//冒泡排序
maoPaoSort(arr1);
System.out.println("冒泡排序后:"+Arrays.toString(arr1));
int[] arr2=new int[]{3,12,4,2,5,0,9,6};
System.out.println("原数组:"+Arrays.toString(arr2));
//插入排序
chaRuSort(arr2);
System.out.println("插入排序后:"+Arrays.toString(arr2));
int[] arr3=new int[]{3,12,4,2,5,0,9,6};
System.out.println("原数组:"+Arrays.toString(arr3));
//选择排序
xuanZeSort(arr3);
System.out.println("选择排序后:"+Arrays.toString(arr3));
int[] arr4=new int[]{3,12,4,2,5,0,9,6};
System.out.println("原数组:"+Arrays.toString(arr4));
//快速排序
kuaiSuSort(arr4,0,7);
System.out.println("快速排序后:"+Arrays.toString(arr4));
}
//快速排序
private static void kuaiSuSort(int[] arr,int start,int end) {
if(start<end){
int flag=arr[start];
int low=start;
int high=end;
while (low<high){
while (low<high&&flag<=arr[high]){
high--;
}
arr[low]=arr[high];
while (low<high&&flag>=arr[low]){
low++;
}
arr[high]=arr[low];
}
arr[low]=flag;
kuaiSuSort(arr,start,low);
kuaiSuSort(arr,low+1,end);
}
}
//选择排序
private static void xuanZeSort(int[] arr) {
int minIndex;//定义最小的值的小标
int i;
for(i=0;i<arr.length;i++){
minIndex=i;
for (int j=i+1;j<arr.length;j++){
if(arr[minIndex]>arr[j]){
minIndex=j;
}
}
if(i!=minIndex){
int temp=arr[minIndex];
arr[minIndex]=arr[i];
arr[i]=temp;
}
}
}
//插入排序
private static void chaRuSort(int[] arr2) {
for (int i=1;i<arr2.length;i++){
if(arr2[i]<arr2[i-1]){
int temp=arr2[i];
int j;
for(j=i-1;j>=0&&arr2[j]>temp;j--) {
arr2[j+1] = arr2[j];
}
arr2[j+1]=temp;
}
//System.out.println("第"+i+"次后:"+Arrays.toString(arr2));
}
}
//冒泡排序
private static void maoPaoSort(int[] arr) {
for(int i=arr.length-1;i>=0;i--){
for (int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
}
关注我的微信公众号,会不定期发布学习总结与学习资源