一、冒泡排序
/**
* 冒泡排序
*
* @author miao
*
*/
public class BubbleSort {
/**
* 用Java写出一个冒泡排序程序,输入10个整数,输出排序结果
*
* @param args
*/
public static void main(String[] args) {
// 需要排序的数组
int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 };
// 调用排序方法
bubbleSort(a);
// 遍历输出结果
for (int i = 0; i < 10; i++) {
System.out.printf("%d ", a[i]);
}
}
/**
* 排序
*
* @param source
*/
public static void bubbleSort(int[] source) {
for (int i = source.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (source[j] > source[j + 1]) {
swap(source, j, j + 1);
}
}
}
}
/**
* 交换两数
*
* @param source
* @param x
* @param y
*/
private static void swap(int[] source, int x, int y) {
int temp = source[x];
source[x] = source[y];
source[y] = temp;
}
}
二、选择排序
/**
* 选择排序
*
* @author miao
*
*/
public class SelectionSort {
/**
* 用Java写出一个选择排序,输入10个整数,输出排序结果
*
* @param args
*/
public static void main(String[] args) {
// 需要排序的数组
int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 };
// 调用排序方法
selectionSort(a);
// 遍历输出结果
for (int i = 0; i < 10; i++) {
System.out.printf("%d ", a[i]);
}
}
/**
* 选择
*
* @param source
*/
public static void selectionSort(int[] source) {
for (int i = 0; i < source.length; i++) {
for (int j = i + 1; j < source.length; j++) {
if (source[i] > source[j]) {
swap(source, i, j);
}
}
}
}
/**
* 交换两数
*
* @param source
* @param x
* @param y
*/
private static void swap(int[] source, int x, int y) {
int temp = source[x];
source[x] = source[y];
source[y] = temp;
}
}
三、插入排序
/**
* 插入排序
*
* @author miao
*
*/
public class InsertSort {
/**
* 用Java写出一个插入排序,输入10个整数,输出排序结果
*
* @param args
*/
public static void main(String[] args) {
// 需要排序的数组
int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 };
// 调用排序方法
insertSort(a);
// 遍历输出结果
for (int i = 0; i < 10; i++) {
System.out.printf("%d ", a[i]);
}
}
/**
* 插入
*
* @param source
*/
public static void insertSort(int[] source) {
for (int i = 0; i < source.length; i++) {
for (int j = i; (j > 0) && (source[j] < source[j - 1]); j--) {
swap(source, j, j - 1);
}
}
}
/**
* 交换两数
*
* @param source
* @param x
* @param y
*/
private static void swap(int[] source, int x, int y) {
int temp = source[x];
source[x] = source[y];
source[y] = temp;
}
}