//用java实现一个插入排序算法
public class InsertSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {3, 5, 7, 1, 8, 11, 9}; //定义数组
doInsertSort(arr); //开始排序
}
//排序方法
public static void doInsertSort(int[] arrays) {
int len = arrays.length; //获取数组的长度
for (int i = 1; i < len; i++) { //遍历数组,从1开始
int j; //定义变量j
int temp = arrays[i]; //临时存储当前的数字
for (j = i; j > 0; j--) { //遍历i之前的数字
//如果前面的数字大于后面的,则把打的值赋到后边
if (arrays[j - 1] > temp) {
arrays[j] = arrays[j - 1];
}else {
//如果当前的数,不小于前面的数,那就说明不小于前面所有的数
//因为前面已经是排好了序的,所以直接通出当前一轮的比较
break;
}
}
arrays[j] = temp; //把空缺位置的数字赋值为原有的值
}
insertSortPrint(arrays); //打印
}
//
public static void insertSortPrint(int[] arrays) {
for (int i = 0; i < arrays.length; i++) { //遍历
System.out.print(arrays[i] + " "); //打印,以空格隔开
}
System.out.println(); //换行
}
}点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号