/**
* 插入排序
* @param a
*/
public static void insertSort(int[] ary) {
//将第一个元素标记为已排序
//遍历每个没有排序过的元素
for (int i = 1; i < ary.length; i++) {
int temp = ary[i];// “提取” 元素 X
int j;
for (j =i - 1; j>=0; j--) {//i = 最后排序过元素的指数 到 0 的遍历
if(temp < ary[j]) {//如果现在排序过的元素 > 提取的元素
ary[j+1]=ary[j];//将排序过的元素向右移一格
}else {
break;
}
}
ary[j+1] = temp;
}
}
本文详细介绍了一种简单直观的排序算法——插入排序,并提供了完整的Java实现代码。通过逐步解析算法流程,帮助读者理解如何通过比较和交换操作将无序数组转换为有序数组。
2967

被折叠的 条评论
为什么被折叠?



