数组排序的三种方式:
package com.ever.util;
public class ArraySort {
//冒泡排序
public static int[] bubbleSort(int[] array){
for (int i = 0 ; i < array.length; i++)
{
for (int j = 0; j < array.length; j++)
{
if(array[i] > array[j])
{
int temp = array[i] ;
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
//选择排序
public static int[] selectSort(int[] array){
for (int i = 0; i < array.length; i++){
int lowerindex = i;
for (int j = i + 1;j < array.length; j++ ){
if(array[i] > array[j]){
lowerindex = j;
}
}
if (lowerindex != i){
int temp = array[i] ;
array[i] = array[lowerindex];
array[lowerindex] = temp;
}
}
return array;
}
//插入排序
public static int[] insertSort(int[] array){
for (int i = 1; i < array.length; i++){
for (int j = i; j > 0; j--){
if(array[j] < array[j - 1]){
int temp = array[j];
array[j] = array[j - 1];
array[j - 1] = temp;
}
}
}
return array;
}
public static int[] shellSort(int[] array){
for (int increment = array.length / 2; increment > 0; increment /= 2) {
for(int i = increment; i < array.length; i++){
int temp = array[i];
int j = 0;
for (j = i; j>= increment; j-= increment){
if(temp < array[j - increment]){
array[j] = array[j - increment];
}else{
break;
}
}
array[j] = temp;
}
}
return array;
}
public static void main(String[] args) {
int[] array = {2,1,4,5,9,6,7,3};
// int[] arraysort = ArraySort.bubbleSort(array);
// int[] arraysort = ArraySort.selectSort(array);
// int[] arraysort = ArraySort.insertSort(array);
int[] arraysort = ArraySort.shellSort(array);
for (int i = 0; i < arraysort.length; i++){
System.out.print(arraysort[i]+" ");
}
}
}