package com.bjsxt.cn;
import java.util.Arrays;
public class Maopao {
public static void main(String[] args) {
int a[]={1,3,5,6,2,56,34};
//sort(a);
//sort1(a);
//System.out.println(Arrays.toString(insert(a)));//插入排序
//insert2(a);
System.out.println(Arrays.toString(ShellSort(a)));
}
//冒泡排序
public static void sort(int arr[]){
boolean sort1=true;
for(int i=0;i<arr.length-1;i++){
sort1=true;
for(int j=0;j<arr.length-1;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
sort1=false;
}
}
if(sort1){
break;
}
}
/*for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
*/
System.out.println(Arrays.toString(arr));
}
//选择排序
public static void sort1(int arr[]){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
//插入排序
public static int[] insert(int arr[]){
//int a[]={1,3,5,6,2,56,34};
for(int i=1;i<arr.length;i++){
int index=i-1;
int current=arr[i];
while(index>=0&&arr[index]>current){
arr[index+1]=arr[index];
index--;
}
arr[index+1]=current;
}
return arr;
}
//插入排序2
public static void insert2(int arr[]){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j>0;j--){
if(arr[j]<arr[j-1]){
int temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
//希尔排序
public static int [] ShellSort(int arr[]){
int len=arr.length;
int gap=len/2;
int temp=len/2;
while(gap>0){
for(int i=gap;i<len;i++){
temp=arr[i];
int index=i-gap;
while(index>=0&&arr[index]>temp){
arr[index+gap]=arr[index];
index-=gap;
}
arr[index+gap]=temp;
}
gap /= 2;
}
return arr;
}
}