定义数组长度变量$len,使用count()函数,参数:数组
for循环数组,条件:从第二个开始,遍历数组,循环内
定义临时变量$temp,赋值当前元素
for循环数组,条件:遍历当前元素前面的所有元素
判断当前元素与它前面的元素的大小,利用临时变量,转换变量
PHP版:
<?php $arr=array(2,3,4,1,5); function insert_sort($arr){ $len=count($arr); for($i=1;$i<$len;$i++){ $temp=$arr[$i]; for($j=$i-1;$j>=0;$j--){ if($temp<$arr[$j]){ $arr[$j+1]=$arr[$j]; $arr[$j]=$temp; }else{ break; } } } return $arr; } $arr=insert_sort($arr); print_r($arr);
java版:
package com.tsh.mthread; public class Home { public static void main(String[] args) { int[] arr=new int[]{2,3,4,1,5}; arr=insert_sort(arr); for(int x:arr){ System.out.println(x); } } /** * 插入排序 * @param arr * @return */ public static int[] insert_sort(int[] arr) { int len=arr.length; for(int i=1;i<len;i++){ int temp=arr[i]; for(int j=i-1;j>=0;j--){ if(temp<arr[j]){ arr[j+1]=arr[j]; arr[j]=temp; }else{ break; } } } return arr; } }