prefacio
Inserción especie de código para lograr Aunque no existe un ordenamiento de burbuja y ordenación por selección tan simple y crudo, pero es el principio debe ser el más fácil de entender, porque mientras la gente jugadas de póquer segundos deben ser capaces de entender. La ordenación por inserción es uno de los algoritmo de clasificación más sencilla, funciona mediante la construcción de una secuencia ordenada, para datos no ordenados, de exploración en secuencia ordenada de atrás hacia adelante, y encontrar las posiciones de inserción correspondientes.
La ordenación por inserción y el ordenamiento de burbuja, también hay un algoritmo de optimización, llamado la demolición de una inserción media.
pasos de un algoritmo
1, el primer elemento que debe considerarse como una secuencia primera ordenada de una secuencia ordenada, el segundo elemento es el último elemento como secuencia sin clasificar.
2, la secuencia de principio a fin no está ordenada escanea secuencialmente, el elemento de exploración se inserta en una posición adecuada de cada secuencia ordenada. (Si los elementos para ser insertados en una secuencia ordenada de elementos son iguales, los elementos a ser insertados se insertan en la parte posterior del elemento de iguales.)
presentación de mapa móvil
PHP implementación del código
function InsertSort($arr){
$num = count($arr);
// 遍历数组
for ($i = 1;$i < $num; $i++) {
// 获得当前值
$iTemp = $arr[$i];
// 获得当前值的前一个位置
$iPos = $i - 1;
// 如果当前值小于前一个值切未到数组开始位置
while (($iPos >= 0) && ($iTemp < $arr[$iPos])) {
// 把前一个的值往后放一位
$arr[$iPos + 1] = $arr[$iPos];
// 位置递减
$iPos--;
}
$arr[$iPos+1] = $iTemp;
}
return $arr;
}
o
function InsertSort($arr) {
$length = count($arr);
for ($i = 0; $i < $length - 1; $i++) {
for ($j = $i + 1; $j > 0; $j--) {
if ($arr[$j] < $arr[$j - 1]) {
$temp = $arr[$j - 1];
$arr[$j - 1] = $arr[$j];
$arr[$j] = $temp;
} else {
break;
}
}
}
return $arr;
}