Enviado em 28/10/2020 - 23:45h
Boa noite pessoal.#include <stdio.h>
#include <stdlib.h>
void selection_sort(int *v, int tam);
void insertion_sort(int *v, int tam);
int main() {
int i;
int v[10] = {2, 5, 6, 1, 7, 4, 9, 8, 10, 3};
printf("\n");
printf("\nVetor inicial: \n");
for (i = 0; i < 10; i++)
{
printf("%d ", v[i]);
}
printf("\n");
printf("\nInsertion sort:");
insertion_sort(v, 10);
for (i = 0; i < 10; i++)
{
printf("%d ", v[i]);
}
printf("\n");
printf("\n");
return 0;
}
void insertion_sort(int *v, int tam) {
int i, j, pivo, trocas, comp;
trocas = 0;
comp = 0;
for ( i = 1; i < tam; i++)
{
pivo = v[i];
j = i - 1;
while (j >= 0 && v[j] > pivo)
{
v[j + 1] = v[j];
j--;
trocas++;
comp++;
}
v[j+1] = pivo;
}
printf("\nTrocas: %d Comparações: %d\n", trocas, comp);
}