Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- void InsertionSort(int vetor[], int elementos)
- {
- int i, j, atual;
- for (i = 1; i < elementos; i++)
- {
- atual = vetor[i];
- j = i - 1;
- while ((j >= 0) && (atual < vetor[j]))
- {
- vetor[j + 1] = vetor[j];
- j = j - 1;
- }
- vetor[j + 1] = atual;
- }
- }
- long timediff(clock_t t1, clock_t t2)
- {
- return ((double)t2 - t1) / CLOCKS_PER_SEC;
- }
- struct Processo
- {
- int id;
- int elementos;
- double tempoExecucao;
- int vetor[1000];
- };
- int main()
- {
- clock_t t1, t2;
- int execucoes, qtd, idAtual = 1;
- printf("Insira a quantidade de execucoes do programa: ");
- scanf("%d", &execucoes);
- struct Processo Processos[execucoes];
- for(idAtual; idAtual <= execucoes; idAtual++)
- {
- Processos[idAtual - 1].id = idAtual;
- do
- {
- printf("\nInsira a quantidade de inteiros que o vetor ira conter (maximo: 999): ");
- scanf("%d", &qtd);
- } while(qtd > 999);
- Processos[idAtual - 1].elementos = qtd;
- printf("Insira %d inteiros:\n", qtd);
- for(int i = 0; i < qtd; i++)
- {
- printf("%d. ", i + 1);
- scanf("%d", &Processos[idAtual - 1].vetor[i]);
- }
- t1 = clock();
- InsertionSort(Processos[idAtual - 1].vetor, qtd);
- t2 = clock();
- Processos[idAtual - 1].tempoExecucao = timediff(t1, t2);
- printf("Vetor ordenado: ");
- for(int i = 0; i < qtd; i++)
- {
- printf("%d ", Processos[idAtual - 1].vetor[i]);
- }
- printf("\nTempo usado: %.5fms\n", Processos[idAtual - 1].tempoExecucao);
- }
- for(idAtual = 0; idAtual < execucoes; idAtual++)
- {
- printf("Processo id %d: %d elementos - %.5fms\n", Processos[idAtual].id, Processos[idAtual].elementos, Processos[idAtual].tempoExecucao);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement