package com.yc.day0807; import java.util.Arrays; /** * @program: javaSE * 描述: * 冒泡排序 从小到大 * @author: yc * @create: 2020-08-07 14:09 **/ public class Demo { public static void main(String[] args) { int[] arr = {1,35,73,12,56,89,3}; System.out.println("冒泡排序:"+ Arrays.toString(Mp(arr))); System.out.println("选择排序:"+ Arrays.toString(Xz(arr))); System.out.println("插入排序:"+ Arrays.toString(Cl(arr))); System.out.println("快速排序:"+Arrays.toString(Ks(arr,0,arr.length-1))); } public static int[] Mp(int[] arr){ //冒泡 int tmp = 0; for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } return arr; } public static int[] Xz(int[] arr){ //选择 int tmp = 0; for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } } return arr; } public static int[] Cl(int[] arr){ //插入 int j=0; for(int i=1;i<arr.length;i++){ int tmp = arr[i]; for(j=i-1;j>=0;j--){ if(tmp<arr[j]){ arr[j+1] = arr[j]; arr[j] = tmp; } } } return arr; } public static int[] Ks(int[] arr,int l,int r){//快速 if(l<r){ int k = arr[l]; //基准值 int i = l; int j = r; while(i<j){ while(i<j && arr[j]>k){ j--; } if(i<j){ arr[i] = arr[j]; i++; } while(l<r && arr[l]<k){ l++; } if(i<j){ arr[j] = arr[i]; j--; } } arr[i] = k; Ks(arr,l,i-1); Ks(arr,i+1,r); } return arr; } }