4 Ejemplo de puntero al array con copia y funcion swap
Funci贸n Swap en JavaScript: Intercambiando elementos en un array
¡Hola, comunidad! 馃憢 Hoy exploraremos c贸mo intercambiar elementos en un array usando una funci贸n swap. Este concepto es fundamental en algoritmos de ordenamiento y manipulaci贸n de datos. ¡Vamos al c贸digo!
馃搶 Problema
Supongamos que tenemos un array:
let arr = [2, -7, 5, 7, 1, -1, 0, -14];Queremos intercambiar, por ejemplo, el elemento en la posici贸n 1 (-7) con el de la posici贸n 5 (-1).
馃挕 Soluci贸n: Funci贸n Swap
La funci贸n swap recibe un array y dos 铆ndices, y realiza el intercambio:
function swap(array, index1, index2) {
let aux = array[index1]; // Guardamos temporalmente el valor de index1
array[index1] = array[index2]; // Reemplazamos index1 con index2
array[index2] = aux; // Asignamos el valor temporal a index2
}⚡ ¿C贸mo funciona?
Copia el valor original: Usamos una variable aux para evitar perder el dato durante el intercambio.
Reemplaza los valores: El elemento en index1 toma el valor de index2, y viceversa.
Copia el valor original: Usamos una variable aux para evitar perder el dato durante el intercambio.
Reemplaza los valores: El elemento en index1 toma el valor de index2, y viceversa.
馃殌 Ejemplo pr谩ctico
let arr = [2, -7, 5, 7, 1, -1, 0, -14];
swap(arr, 1, 5);
console.log(arr); // Output: [2, -1, 5, 7, 1, -7, 0, -14]
let arr = [2, -7, 5, 7, 1, -1, 0, -14];
swap(arr, 1, 5);
console.log(arr); // Output: [2, -1, 5, 7, 1, -7, 0, -14]✅ El elemento en la posici贸n 1 ahora es -1, y el de la posici贸n 5 es -7.
馃攳 ¿Por qu茅 usar una variable auxiliar?
Sin aux, perder铆amos el valor original durante el reemplazo. Por ejemplo:
// ❌ Sin auxiliar (error com煤n)
array[index1] = array[index2]; // Sobrescribe el valor original
array[index2] = array[index1]; // ¡Ambos 铆ndices tendr铆an el mismo valor!馃幆 Bonus: Swap con desestructuraci贸n (ES6+)
En JavaScript moderno, podemos simplificar el c贸digo:
[array[index1], array[index2]] = [array[index2], array[index1]];¡Una l铆nea sin variables auxiliares!
馃摚 ¿Te gust贸?
Este principio es clave en algoritmos como Bubble Sort o Quick Sort. Si quieres profundizar en c贸mo JavaScript maneja arrays y punteros en memoria, ¡av铆same en los comentarios! 馃憞
¡Nos vemos en el pr贸ximo post
C贸mo intercambiar elementos en un array: Funci贸n Swap en JavaScript
¡Hola, comunidad! 馃憢 ¿C贸mo est谩n? ¡Yo m谩s que bien! 馃槉
Hoy aprenderemos a intercambiar elementos en un array (tambi茅n conocido como swap). ¿Qu茅 significa esto?
Imaginemos que tenemos un array y queremos cambiar el elemento en la posici贸n 2 por el de la posici贸n 6. Visualmente, ser铆a algo as铆:
Posici贸n 2: 馃崕 → Posici贸n 6: 馃崒Despu茅s del intercambio:
Posici贸n 2: 馃崒 → Posici贸n 6: 馃崕¡Vamos a hacerlo con c贸digo! Es muy sencillo, as铆 que manos a la obra.
Implementando la funci贸n swap
Definiremos una funci贸n llamada swap que reciba un array y dos 铆ndices (las posiciones a intercambiar):
function swap(array, index1, index2) {
// Guardamos el valor original del primer 铆ndice
let aux = array[index1];
// Reemplazamos el valor del primer 铆ndice con el del segundo
array[index1] = array[index2];
// Y finalmente, asignamos el valor guardado (aux) al segundo 铆ndice
array[index2] = aux;
}¿C贸mo funciona?
Guardamos temporalmente el valor de
array[index1]enaux.Sobrescribimos
array[index1]con el valor dearray[index2].Completamos el intercambio asignando el valor guardado (
aux) aarray[index2].
Probemos la funci贸n
let numeros = [2, -7, 5, 7, 1, -1, 0, -14];
// Intercambiamos el elemento en posici贸n 1 (-7) por el de posici贸n 5 (-1)
swap(numeros, 1, 5);
console.log(numeros);
// Resultado: [2, -1, 5, 7, 1, -7, 0, -14] ✅Tambi茅n podemos intercambiar otros elementos:
swap(numeros, 0, 1); // Intercambiamos el 2 (posici贸n 0) y el -1 (posici贸n 1)
console.log(numeros);
// Resultado: [-1, 2, 5, 7, 1, -7, 0, -14] ✅Bonus: Versi贸n moderna con desestructuraci贸n
En JavaScript moderno, podemos simplificar el swap usando desestructuraci贸n de arrays:
function swapModerno(array, i, j) {
[array[i], array[j]] = [array[j], array[i]];
}¡M谩s elegante y sin variables temporales!
Conclusi贸n
Aprender a intercambiar elementos es fundamental para algoritmos de ordenamiento (como Bubble Sort) y manipulaci贸n de arrays. ¡Espero que les haya sido 煤til!
¿Quieren profundizar en c贸mo JavaScript maneja los arrays en memoria? Les recomiendo mi post anterior sobre punteros y referencias (link aqu铆 si lo tienes).
¡Nos vemos en el pr贸ximo tutorial! 馃殌
¿Dudas o comentarios? ¡D茅jenlos abajo! 馃憞
馃敼 Recuerden:
// Swap cl谩sico ↓
let aux = array[i];
array[i] = array[j];
array[j] = aux;
// Swap moderno ↓
[array[i], array[j]] = [array[j], array[i]];¡Hasta la pr贸xima!
Comentarios
Publicar un comentario