您的位置:首页 > 编程语言 > Java开发

JAVA排序算法实现代码-插入排序

2008-11-19 15:48 585 查看

JAVA排序算法实现代码-插入排序

/** * JAVA排序算法实现代码-插入排序。 * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Test { public static int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4, 3 }; // 预设数据数组 public static void main(String args[]) { int i; // 循环计数变量 int Index = a.length;// 数据索引变量 System.out.print("排序前: "); for (i = 0; i < Index - 1; i++) System.out.print(" " + a[i] + " "); System.out.println(""); InsertSort(Index - 1); // 选择排序 // 排序后结果 System.out.print("排序后: "); for (i = 0; i < Index - 1; i++) System.out.print(" " + a[i] + " "); System.out.println(""); } public static void InsertSort(int Index) { int i, j, k; // 循环计数变量 int InsertNode; // 欲插入数据变量 for (i = 1; i < Index; i++) // 依序插入数值 { InsertNode = a[i]; // 设定欲插入的数值 j = i - 1; // 欲插入数组的开始位置 // 找适当的插入位置 while (j >= 0 && InsertNode < a[j]) { a[j + 1] = a[j]; j--; } a[j + 1] = InsertNode; // 将数值插入 // 打印目前排序结果 System.out.print("排序中: "); for (k = 0; k < Index; k++) System.out.print(" " + a[k] + " "); System.out.println(""); } } }
/**
* JAVA排序算法实现代码-插入排序。
*
* @author 老紫竹 JAVA世纪网(java2000.net)
*
*/
public class Test {
public static int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4, 3 }; // 预设数据数组

public static void main(String args[]) {
int i; // 循环计数变量
int Index = a.length;// 数据索引变量

System.out.print("排序前: ");
for (i = 0; i < Index - 1; i++)
System.out.print(" " + a[i] + " ");
System.out.println("");

InsertSort(Index - 1); // 选择排序
// 排序后结果
System.out.print("排序后: ");
for (i = 0; i < Index - 1; i++)
System.out.print(" " + a[i] + " ");
System.out.println("");
}

public static void InsertSort(int Index) {
int i, j, k; // 循环计数变量
int InsertNode; // 欲插入数据变量

for (i = 1; i < Index; i++) // 依序插入数值
{
InsertNode = a[i]; // 设定欲插入的数值
j = i - 1; // 欲插入数组的开始位置
// 找适当的插入位置
while (j >= 0 && InsertNode < a[j]) {
a[j + 1] = a[j];
j--;
}
a[j + 1] = InsertNode; // 将数值插入
// 打印目前排序结果
System.out.print("排序中: ");
for (k = 0; k < Index; k++)
System.out.print(" " + a[k] + " ");
System.out.println("");
}
}
}


运行结果

排序前: 10 32 1 9 5 7 12 0 4

排序中: 10 32 1 9 5 7 12 0 4

排序中: 1 10 32 9 5 7 12 0 4

排序中: 1 9 10 32 5 7 12 0 4

排序中: 1 5 9 10 32 7 12 0 4

排序中: 1 5 7 9 10 32 12 0 4

排序中: 1 5 7 9 10 12 32 0 4

排序中: 0 1 5 7 9 10 12 32 4

排序中: 0 1 4 5 7 9 10 12 32

排序后: 0 1 4 5 7 9 10 12 32
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: