</pre><pre name="code" class="java">/**
* 冒泡排序
*/
public class BubbleSort {
public static void main(String[] args) {
int[] array = { 28, 19, 91, 7, 4, 17 };
System.out.print("排序前:");
printArray(array);
bubbleAscSort(array);
bubbleDescSort(array);
}
/**
* 输出数组
*/
public static void printArray(int[] array) {
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
if (i != array.length - 1) {
System.out.print(",");
}
}
}
/**
* 冒泡升序排序
*/
public static void bubbleAscSort(int[] array) {
System.out.println();
System.out.print("冒泡升序排序后:");
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printArray(array);
}
/**
* 冒泡降序排序
*/
public static void bubbleDescSort(int[] array) {
System.out.println();
System.out.print("冒泡降序排序后:");
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[j] > array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printArray(array);
}
}
/**
* 插入排序
*/
public class InsertSort {
public static void main(String[] args) {
int[] array = { 28, 19, 91, 7, 4, 17 };
System.out.print("排序前:");
printArray(array);
insertAscSort(array);
insertDescSort(array);
}
/**
* 插入升序排序
*/
public static void insertAscSort(int[] array) {
System.out.println();
System.out.print("插入升序排序后:");
if (array == null || array.length == 0) {
return;
}
for (int i = 1; i < array.length; i++) {
for (int j = 0; j < i; j++) {
if (array[j] > array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printArray(array);
}
/**
* 插入降序排序
*/
public static void insertDescSort(int[] array) {
System.out.println();
System.out.print("插入降序排序后:");
if (array == null || array.length == 0) {
return;
}
for (int i = 1; i < array.length; i++) {
for (int j = 0; j < i; j++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printArray(array);
}
public static void printArray(int[] array) {
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
if (i != array.length - 1) {
System.out.print(",");
}
}
}
}
/**
* 选择排序
*/
public class SelectSort {
public static void main(String[] args) {
int[] array = { 28, 19, 91, 7, 4, 17 };
System.out.print("排序前:");
printArray(array);
selectAscSort(array);
selectDescSort(array);
}
/**
* 选择升序排序
*/
public static void selectAscSort(int[] array) {
System.out.println();
System.out.print("选择升序排序后:");
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length - 1; i++) {
int index = i;
for (int j = i + 1; j < array.length; j++) {
if (array[j] < array[index]) {
index = j;
}
}
if (index != i) {
int temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
printArray(array);
}
/**
* 选择降序排序
*/
public static void selectDescSort(int[] array) {
System.out.println();
System.out.print("选择降序排序后:");
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length - 1; i++) {
int index = i;
for (int j = i + 1; j < array.length; j++) {
if (array[j] > array[index]) {
index = j;
}
}
if (index != i) {
int temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
printArray(array);
}
public static void printArray(int[] array) {
if (array == null || array.length == 0) {
return;
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
if (i != array.length - 1) {
System.out.print(",");
}
}
}
}