- Clasificación de burbujas
Comprensión personal: compare elementos adyacentes e intercambie valores más grandes a través de un ciclo completo para obtener el valor máximo (valor pequeño) de la ronda y colocarlo en el último lugar. El resultado de clasificación final se obtiene a través de múltiples rondas de comparación
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { // 相邻元素两两对比
var temp = arr[j+1]; // 元素交换
arr[j+1] = arr[j];
arr[j] = temp;
}
}
- Selección de selección
Comprensión personal: la primera vez que selecciona el primer elemento y lo compara con los elementos posteriores para obtener el valor grande o pequeño para intercambiar. Póngalo en primer lugar. Puede determinar que el primer elemento es el valor máximo o mínimo a través de una ronda
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) { // 寻找最小的数
minIndex = j; // 将最小数的索引保存
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
- Insertar clasificación
A partir del primer elemento, se puede considerar que el elemento ha sido ordenado; a partir del segundo elemento, se compara con el elemento en la posición anterior y luego se inserta
for (var i = 1; i < len; i++) {
preIndex = i - 1;
current = arr[i];
while (preIndex >= 0 && arr[preIndex] > current) {
arr[preIndex + 1] = arr[preIndex];
preIndex--;
}
arr[preIndex + 1] = current;
}
4. Colina clasificar
cabeza grande no lea
5. Fusionar y ordenar
La secuencia de entrada de longitud n se divide en dos subsecuencias de longitud n / 2; cada subsecuencia se ordena primero, y luego las dos listas ordenadas se fusionan en una lista ordenada,