插入排序
一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。
插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。
链接: link.
-
原始数据 5 2 4 6 1 3
-
第一轮: 2 5 4 6 1 3
-
第二轮: 2 4 5 6 1 3
-
第三轮: 2 4 5 6 1 3
-
第四轮: 1 2 4 5 6 3
-
第五轮: 1 2 3 4 5 6
-
代码
- 代码如下(示例):
* public static void main(String[] args) {
int[] arr = new int[] { 5, 2, 4, 6, 1 , 3 };
for (int i = 1; i < arr.length; i++) {
// /比较索引行j处的值和索引j-1处的值﹖如果索引j-1处的值比索引j处的值大?
// 则交换数据·如果不大·那么就找到合适的位置了﹔退出循环即可;
for (int j = i; j > 0; j--) {
if (arr[j - 1] > arr[j]) {
int min = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = min;
} else
break;
}
}
输出(示例)
[1, 2, 3, 4, 5, 6]