小思路:先将一个将要排序的数组简单分成两份(有序/无序),将数组第一个数定义为有序部分,余下的为无序部分。 然后就是遍历无序数组将遍历数组的每个元素与其前一个元素进行比较,若符合条件就将其插入有序部分(就是将两个变量交换以完成排序)。(外层循环将无序部分的元素遍历,用于控制比较的轮数.....内层循环将第 j 个 元素,与 第 j-1 个元素相比较,并交换位置) 直接看代码:暴力美学 //插入排序----升序 public class Insersort { public static void main(String[] args) { int arr[]=new int[]{1,4,6,2,5,3}; for(int i=1;i<arr.length;i++){//从第二个元素开始遍历(第一个已为有序)//排序的轮数 for(int j=i;j>0;j--){//从 i 开始(排序),与其前面个元素相比, //判断 当前元素与前一个元素的大小 if(arr[j]<arr[j-1]){ //交换两个变量的值 int temp=arr[j]; arr[j]=arr[j-1]; arr[j-1]=temp; } } } System.out.println(Arrays.toString(arr)); } }
插入排序——Java
于 2022-07-28 00:01:45 首次发布