面试题,三种排序
public class Sort {
public static void main(String[] args) {
int[] number = { 3, 45, 23, 14, 7, 9 };
// selection(number);
// injection(number);
bubble(number);
print(number);
}
/**
* 选择
*
* @param number
*/
public static void selection(int[] number) {
for (int i = 0; i < number.length; i++) {
int min_index = i;
for (int j = i + 1; j < number.length; j++) {
if (number[i] > number[j]) {
min_index = j;
}
}
if (min_index != i) {
sorted(number, min_index, i);
}
}
}
/**
* 插入
*
* @param number
*/
public static void injection(int[] number) {
for (int i = 1; i < number.length; i++) {
int tmp = number[i];
int tmp_index = i;
for (int j = i - 1; j >= 0; j--) {
if (tmp < number[j]) {
number[j + 1] = number[j];
tmp_index = j;
}
}
number[tmp_index] = tmp;
}
}
/**
* 冒泡
*
* @param number
*/
public static void bubble(int[] number) {
for (int i = 0; i < number.length; i++) {
for (int j = 0; j < number.length - i - 1; j++) {
if (number[j] > number[j + 1]) {
sorted(number, j, j + 1);
}
}
}
}
/**
* 选择
*/
public static void sorted(int[] number, int a, int b) {
int tmp = number[a];
number[a] = number[b];
number[b] = tmp;
}
/**
* 打印
*/
public static void print(int[] number) {
for (int i = 0; i < number.length; i++) {
System.out.print(number[i] + " ");
}
System.out.println("");
}
}