您的位置:首页 > 其它

三大基本排序冒泡、插入、选择

2014-12-29 19:00 423 查看
import java.util.Arrays;
public class BasicSort{
public static void main(String[] args) {
int [] array = {7,5,4,9,1,3,8};
System.out.println(Arrays.toString(bubbleSort(array)));
System.out.println(Arrays.toString(insertionSort(array)));
System.out.println(Arrays.toString(selectionSort(array)));
}

// 冒泡排序
private static int[] bubbleSort(int [] array){
for(int i = 0; i < array.length - 1; i++){
boolean flag = true;
for(int j = 0; j < array.length - 1 - i; j++){
if(array[j] > array[j + 1]){
int tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
flag = false;
}
}

if(flag)
break;
}
return array;
}

// 插入排序
private static int[] insertionSort(int[] array){
for(int i = 1; i < array.length; i++){
// 待插入元素的索引
int index = i;
// 当前待插入的元素
int tmp = array[index];
while(index > 0 && tmp < array[index - 1]){
array[index] = array[index - 1];
--index;
}
array[index] = tmp;
}
return array;
}

// 选择排序
private static int[] selectionSort(int[] array){
for(int i = 0; i < array.length; i++){
int min = i;
for(int j = i + 1; j < array.length; j++){
if(array[j] < array[min])
min = j;
}
swap(i, min, array);
}
return array;
}

private static void swap(int i, int j, int[] array){
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: