插入排序InsertSort

11. November 2017 深度学习 0
PHP实现
<?php
$arr = [1, 4, 3, 2, 7, 9, 33, 23, 6, 77, 44, 99, 12, 5, 6, 3, 1, 91];
function InsertSort(array &$arr):Int{
    $n= count($arr);
    $number=0;
    for($i=$n-1;$i>0;$i--){
        if($arr[$i]<$arr[$i-1]){
            $temp=$arr[$i-1];
            $arr[$i-1]=$arr[$i];
            $arr[$i]=$temp;
            $number++;
        }
    }
    if($number==0){
        return 0;
    }
    for($i=2;$i<$n;$i++){
        $v=$arr[$i];
        $j=$i;
        while ($v<$arr[$j-1]){
            $arr[$j]=$arr[$j-1];
            $j--;
        }
        $arr[$j]=$v;
    }
    return 1;
}
InsertSort($arr);
echo implode(',',$arr);
Python实现
def InsertSort():
    N=len(arr)
    number=0
    for i in range(N-1,0,-1):
        if arr[i]<arr[i-1]:
            arr[i],arr[i-1]=arr[i-1],arr[i]
            number=number+1
    if number==0:
        return
    for i in range(2,N):
        v=arr[i]
        j=i
        while v<arr[j-1]:
            arr[j]=arr[j-1]
            j=j-1
        arr[j]=v
if __name__ == '__main__':
    arr = [1, 4, 3, 2, 7, 9, 33, 23, 6, 77, 44, 99, 12, 5, 6, 3, 1, 91]
    InsertSort()
    print arr
JavaScript实现
<script>

var arr=[1, 4, 3, 2, 7, 9, 33, 23, 6, 77, 44, 99, 12, 5, 6, 3, 1, 91];

var N=arr.length;

var number=0;

function InsertSort(){

for(i=N-1;i>0;i--){

if(arr[i]<arr[i-1]){

var temp=arr[i];

arr[i]=arr[i-1];

arr[i-1]=temp;

number++;

}

}

if(number==0){

return 0;

}

for(i=2;i<N;i++){

var v=arr[i];

var j=i;

while(v<arr[j-1]){

arr[j]=arr[j-1];

j--;

}

arr[j]=v;

}

}

InsertSort();

document.write(arr);

</script>
Java实现
package lijian;

import java.util.Arrays;

public class Lijian {
 
 public static void InsertSort(int[] a){
 int n=a.length;
 int number=0;
 for(int i=n-1;i>0;i--){
 if(a[i]<a[i-1]){
 int temp=a[i-1];
 a[i-1]=a[i];
 a[i]=temp;
 number++;
 }
 }
 if(number==0){
 return;
 }
 
 for(int i=2;i<n;i++){
 int j=i;
 int v=a[i];
 while(v<a[j-1]){
 a[j]=a[j-1];
 j--;
 }
 a[j]=v;
 }
 }

public static void main(String[] args) {
 // TODO code application logic here
 int[] arr = { 1, 4, 3, 2, 7, 9, 33, 23, 6, 77, 44, 99, 12, 5, 6, 3, 1, 91 };
 InsertSort(arr);
 System.out.println(Arrays.toString(arr));
 }
}