一,插入排序
插入排序顾名思义就是往元素里按照大小插入元素,从而最终形成一个有序序列,首先初始状态下,将待排序序列中的第一个元素看作是有序的子序列,再将待排元素与元素进行对比,插入序列,前提是不破环子序列
代码如下
public class Demo {
public static void arrys(int[] list) {
// 下标1开始遍历
for (int i = 1; i <list.length; i++) {
// 要插入的目标元素
int insert_elem = list[i];
// 记录目标元素所在的位置,从此位置向前开始遍历
int position = i;
// 从 position 遍历,找到目标元素的插入位置
while (position > 0 && list[position - 1] > insert_elem) {
// position 处的元素向后移动
list[position] = list[position - 1];
position--;
}
// 将元素插入到指定位置
if (position != i) {
list[position] = insert_elem;
}
}
}
public static void main(String[] args) {
int[] list = { 54, 10, 29, 3, 43, 87, 41, 35 };
arrys(list);
// 输出排好序的序列
for (int i = 0; i < list.length; i++) {
System.out.print(list[i] + " ");
}
}
}
写的不好,请见谅