-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInsertionSort.cpp
More file actions
59 lines (47 loc) · 1.18 KB
/
InsertionSort.cpp
File metadata and controls
59 lines (47 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
Name: InsertionSort.cpp
Author: Lucas Oliveira
Date: nov/06/2024
Description: Algoritmo de implementação do Insertion sort.
*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void insertionSort(int vet[], int);
void cleanTerminal ();
int trocas = 0;
int comp = 0;
main()
{
int vet[] = {15,173,19,24,98,75,77,31,19,14,25,98,13,2};
int i, tam;
tam = sizeof(vet) / sizeof(vet[0]);
printf("Vetor DESORDENADO:\n");
for(i = 0;i < tam; i++)
printf("%d|", vet[i]);
insertionSort(vet, tam);
printf("\nVetor ORDENADO pelo Insertion Sort:\n");
for(i = 0;i < tam; i++)
printf("%d|", vet[i]);
printf("\n ====>%d<==== quantidades de comparacoes",comp);
printf("\n ====>%d<==== quantidades de trocas",trocas);
}
void insertionSort(int vet[], int tam){
printf("\n");
int i, j, chave;
for(i = 1; i < tam; i++){
comp++;
chave = vet[i];
j = i -1;
while(j >= 0 && vet[j] > chave){
trocas++;
comp++;
vet[j+1] = vet[j];
j = j -1;
}
vet[j + 1] = chave;
}
}
void cleanTerminal(){
system("clear") /*|| system("clear")*/;
}