package a01;
public class SelectBubbleInsert {
//交换i,j位置的元素
public static void swap(int[] arr, int i,int j){
int temp = arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
public static void showArr(int arr[]){
for(int i:arr){
System.out.printf("%d\t",i);
}
}
//选择排序
public static void selectSort(int[] arr){
if(arr==null||arr.length<2){
return;
}
for(int i = 0;i< arr.length-1;i++){
for(int j =i+1;j< arr.length;j++){
if(arr[i]>arr[j]){
swap(arr,i,j);
}
}
}
showArr(arr);
}
//冒泡
public static void bubbleSort(int [] arr){
if(arr==null||arr.length<2){
return;
}
for(int i=arr.length-1;i>0;i--){
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
showArr(arr);
}
//插入
public static void insertSort(int [] arr){
if(arr==null||arr.length<2){
return;
}
for(int i =1 ;i<arr.length;i++){
for(int j=i ;j>0;j--){
if(arr[j]<arr[j-1]){
swap(arr,j,j-1);
}
}
}
showArr(arr);
}
public static void main(String[] args) {
int arr[] ={4,3,2,1};
new SelectBubbleInsert().insertSort(arr);
}
}