概述
插入排序:(Inserting Sorting)
把n个待排序的元素看成一个有序表和一个无序表。开始时有序表只包含一个元素,无序表包含n-1个元素。
排序过程
: 每次从无序表中取出第一个元素,把他的排序码依次与有序元素的排序码进行比较,将他插入到有序表中的适当位置,形成新的有序表。
package day15;
import java.util.Arrays;
public class InsertSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {140,12,45,111 };
insertSort(arr);
}
public static void insertSort(int[] arr) {
//i从第二个数开始,默认第一个数是有序的
//arr.length,不用-1,这样让最后一个数参与运算
for(int i = 1 ; i <arr.length ; i++ ) {
//定义待插入的数
int insertVal = arr[i];
int insertIndex = i-1;
//找到insertVal的插入位置
while(insertIndex >= 0 && insertVal < arr[insertIndex]) {
arr[insertIndex +1] = arr[insertIndex];
insertIndex -- ;
}
//退出while时,插入位置找到,将insertVAl插入进去
//此时的insertIndex值为 -1
arr[insertIndex + 1] = insertVal;
System.out.printf("第%d轮排序之后",i);
System.out.println(Arrays.toString(arr));
}
}
}
最后
以上就是舒适大地为你收集整理的数据结构与算法之插入排序及详细代码的全部内容,希望文章能够帮你解决数据结构与算法之插入排序及详细代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复