问题举例:
当我们遇到这样一个排序问题:一个班级随机站成一排,现在需要从低到高重新排一下。做法是:从第二个开始依次跟其前面一个人比较高矮,高的向后。如:1,6,5,8,7,4,3,2-->1,5,6,8,7,4,3,2-->1,5,6,7,8,4,3,2-->1,5,6,7,4,8,3,2-->1,5,6,4,7,8,3,2 ... -->1,2,3,4,5,6,7,8
JS算法实现:
var sort=function(oArray){ var array=oArray; var i, j,value,n=array.length; for(j=1;j<n;j++){ i=j-1; value=array[j]; while(i>=0 && array[i]>value){ array[i+1]=array[i]; i--; } array[i+1]=value; } return array; };
测试: