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;
}
}