#include <iostream>
using namespace std;
void printArray(int arr[], int n);
void insertionSort(int arr[], int n);
int main()
{
//int arr[]={12, 11, 13, 5, 6};
int arr[]={6, 5, 3, 1, 8};
int n = sizeof(arr)/sizeof(arr[0]);
cout<<"Arreglo a ordenar"<<endl;
printArray(arr, n);
//ORDENANDO LA
insertionSort(arr, n);
cout<<"Arreglo ordenado"<<endl;
printArray(arr, n);
return 0;
}
void printArray(int arr[], int n){
int i;
for(i=0; i<n; i++)
cout<<arr[i]<<" ";
cout<<endl;
}
// función para ordenar un arreglo usando insertion sort
void insertionSort(int arr[], int n){
int i, j, temp;
for(i=1; i<n; i++){
j=i;
// mueve los elemnto del arreglo desde [0] a [i-1] que son mayores que el elemento clave, una posicon adelante de su posicioón actual
while(j>0 && arr[j-1] > arr[j]) {
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
j--;
}
}
}