SlideShare una empresa de Scribd logo
Estructura de datos
“ALGOritmo DE ordenamiento por inserción”
Aneth ponzón
MaRta bolaño suárez
aLgOritmo DE ordenamiento por inserción
El ordenamiento por inserción (insertion sort) es
una manera muy natural de ordenar para un ser
humano, es similar como si estuviéramos ordenando
un mazo de cartas numeradas en forma arbitraria.
Donde las operaciones se ordenan en una lista de n
elementos.
Inicialmente se tiene un solo elemento, que obviamente
es un conjunto ordenado. Después, cuando hay
k elementos ordenados de menor a mayor, se
toma el elemento k+1 y se compara con todos
los elementos ya ordenados, deteniéndose
cuando se encuentra un elemento menor
(todos los elementos mayores han sido desplazados
una posición a la derecha) o cuando ya no se
encuentran elementos (todos los elementos
fueron desplazados y este es el más pequeño).
En este punto se inserta el elemento k+1 debiendo
desplazarse los demás elementos
Pseudocódigo en C
Tabla de variables
ejemplo
¿Te acuerdas de nuestra famosa lista?
4 - 3 - 5 - 2 - 1
temp toma el valor del segundo elemento, 3. La
primera carta es el 4. Ahora comparamos: 3 es menor
que 4. Luego desplazamos el 4 una posición a la
derecha y después copiamos el 3 en su lugar.
4 - 4 - 5 - 2 - 1
3 - 4 - 5 - 2 - 1
El siguiente elemento es 5. Comparamos con 4. Es mayor
que 4, así que no ocurren intercambios.
Continuamos con el 2. Es menor que cinco:
desplazamos el 5 una posición a la derecha:
3 - 4 - 5 - 5 – 1
Comparamos con 3. Desplazamos el 3 una posición a la
derecha:
3 - 3 - 4 - 5 - 1
Finalmente copiamos el 2 en su posición final:
2 - 3 - 4 - 5 - 1
El último elemento a ordenar es el 1. Cinco es menor que 1, así
que lo desplazamos una posición a la derecha:
2 - 3 - 4 - 5 - 5
Continuando con el procedimiento la lista va quedando así:
2 - 3 - 4 - 4 - 5
2 - 3 - 3 - 4 - 5
2 - 2 - 3 - 4 - 5
1 - 2 - 3 - 4 - 5
Espero que te haya quedado claro.
ALGORITMO
Ejercicio EJECUTABLE
#include <iostream>
#include <stdio.h>
using namespace std;
void Insercion(int lista[], int tam) {
int i, j, temp;
for (i=1; i < tam; i++) {
temp = lista[i];
j = i-1;
while (j >= 0 && lista[j] > temp) {
lista[j + 1] = lista[j];
j--;
}
lista[j+1] = temp;
}
}
 void leer(int longitud, int r[]){

 for(int i = 0; i < longitud; i++) {
 cout<<"n Elemento "<<i<<": ";
 cin>>r[i];

 }
 }
 void imprimir(int longitud, int r[]){

 for(int i = 0; i < longitud; i++) {
 cout<<"t"<<r[i];

 }
 }
 int main(){


 int dim, vec[' '];
 cout << "Ingresa la dimension del vector: ";
 cin >> dim;

 cout << "Ingrese los elementos del vector: n";

 leer(dim,vec);

 cout << "El vector ordenado es: n";
 Insercion(vec, dim);

 imprimir(dim,vec);


 return 0;
 }
estructura de estructura de datos

Más contenido relacionado

PPTX
Quicksort
PPT
Ordenar arreglos en java
ODP
METODOS DE ORDENAMIENTO
DOCX
Algoritmos Ordenamiento
PPT
Ordenamiento ppt
PPTX
Listas
DOCX
Informe insercion
PDF
metodos-de-ordenamiento.pdf
Quicksort
Ordenar arreglos en java
METODOS DE ORDENAMIENTO
Algoritmos Ordenamiento
Ordenamiento ppt
Listas
Informe insercion
metodos-de-ordenamiento.pdf

Similar a estructura de estructura de datos (20)

PPTX
Ordenamiento Simple
PDF
Informe ordenamiento
PPT
Metodos De Ordenamiento
PPTX
Algoritmos de ordenamineto y busqueda
PPTX
Presentacion
PDF
UNIDAD IV - metodos de busqueda
DOCX
Josemanueunidad4 investigacionmetodos
PDF
Ordenamiento
PPTX
Algoritmos
PPTX
Metodos de ordenamiento
PPTX
Presentacion programacion dinamica luis silva
PPTX
Ordenamiento en C++
PPTX
Gilmora
PPTX
Metodos de ordenamiento
PDF
Tiempo de ejecucion de particiones (quicksort)
PDF
Ordenamiento
PPTX
Metodo_de_Burbuja.pptx
PPTX
Algoritmo de quicksort
PDF
Clase 04 FDP UNI 2023-2 Ordenacion Directa.pdf
PPTX
metodosdeordenamiento.pptx
Ordenamiento Simple
Informe ordenamiento
Metodos De Ordenamiento
Algoritmos de ordenamineto y busqueda
Presentacion
UNIDAD IV - metodos de busqueda
Josemanueunidad4 investigacionmetodos
Ordenamiento
Algoritmos
Metodos de ordenamiento
Presentacion programacion dinamica luis silva
Ordenamiento en C++
Gilmora
Metodos de ordenamiento
Tiempo de ejecucion de particiones (quicksort)
Ordenamiento
Metodo_de_Burbuja.pptx
Algoritmo de quicksort
Clase 04 FDP UNI 2023-2 Ordenacion Directa.pdf
metodosdeordenamiento.pptx
Publicidad

Último (10)

PPTX
PROPIEDADES Y METODOS DE PrOO CON PYTHON
PPTX
hojas_de_calculo_aplicado para microsoft office
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
ANALOGÍA 6.pptx9191911818181119111162363733839292
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
presentación de introducción a las metodologías agiles .pptx
PDF
Presentacion de compiladores e interpretes
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Control de seguridad en los sitios web.pptx
PDF
DNS_SERVIDORES PARA ASER PRACTICAS EN REDES
PROPIEDADES Y METODOS DE PrOO CON PYTHON
hojas_de_calculo_aplicado para microsoft office
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
ANALOGÍA 6.pptx9191911818181119111162363733839292
Implementación equipo monitor12.08.25.pptx
presentación de introducción a las metodologías agiles .pptx
Presentacion de compiladores e interpretes
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Control de seguridad en los sitios web.pptx
DNS_SERVIDORES PARA ASER PRACTICAS EN REDES
Publicidad

estructura de estructura de datos

  • 1. Estructura de datos “ALGOritmo DE ordenamiento por inserción” Aneth ponzón MaRta bolaño suárez
  • 2. aLgOritmo DE ordenamiento por inserción El ordenamiento por inserción (insertion sort) es una manera muy natural de ordenar para un ser humano, es similar como si estuviéramos ordenando un mazo de cartas numeradas en forma arbitraria. Donde las operaciones se ordenan en una lista de n elementos.
  • 3. Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha) o cuando ya no se encuentran elementos (todos los elementos fueron desplazados y este es el más pequeño). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos
  • 5. ejemplo ¿Te acuerdas de nuestra famosa lista? 4 - 3 - 5 - 2 - 1 temp toma el valor del segundo elemento, 3. La primera carta es el 4. Ahora comparamos: 3 es menor que 4. Luego desplazamos el 4 una posición a la derecha y después copiamos el 3 en su lugar. 4 - 4 - 5 - 2 - 1 3 - 4 - 5 - 2 - 1
  • 6. El siguiente elemento es 5. Comparamos con 4. Es mayor que 4, así que no ocurren intercambios. Continuamos con el 2. Es menor que cinco: desplazamos el 5 una posición a la derecha: 3 - 4 - 5 - 5 – 1 Comparamos con 3. Desplazamos el 3 una posición a la derecha: 3 - 3 - 4 - 5 - 1
  • 7. Finalmente copiamos el 2 en su posición final: 2 - 3 - 4 - 5 - 1 El último elemento a ordenar es el 1. Cinco es menor que 1, así que lo desplazamos una posición a la derecha: 2 - 3 - 4 - 5 - 5 Continuando con el procedimiento la lista va quedando así: 2 - 3 - 4 - 4 - 5 2 - 3 - 3 - 4 - 5 2 - 2 - 3 - 4 - 5 1 - 2 - 3 - 4 - 5 Espero que te haya quedado claro.
  • 9. Ejercicio EJECUTABLE #include <iostream> #include <stdio.h> using namespace std; void Insercion(int lista[], int tam) { int i, j, temp; for (i=1; i < tam; i++) { temp = lista[i]; j = i-1; while (j >= 0 && lista[j] > temp) { lista[j + 1] = lista[j]; j--; } lista[j+1] = temp; } }
  • 10.  void leer(int longitud, int r[]){   for(int i = 0; i < longitud; i++) {  cout<<"n Elemento "<<i<<": ";  cin>>r[i];   }  }  void imprimir(int longitud, int r[]){   for(int i = 0; i < longitud; i++) {  cout<<"t"<<r[i];   }  }
  • 11.  int main(){    int dim, vec[' '];  cout << "Ingresa la dimension del vector: ";  cin >> dim;   cout << "Ingrese los elementos del vector: n";   leer(dim,vec);   cout << "El vector ordenado es: n";  Insercion(vec, dim);   imprimir(dim,vec);    return 0;  }