Estudo de Tempo de Execução de Metedos de Inserção
Por: willyansilveira • 20/10/2015 • Pesquisas Acadêmicas • 998 Palavras (4 Páginas) • 163 Visualizações
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include <stdio.h>
using namespace std;
int main(){
int n;
cout<<"Tamanho do vetor???\n";
cin>>n;
int vetor1[n],vetorincr[n],vetorinde[n],vetorcocr[n],vetorcode[n],metodo,ordem,temp,x,j,cont;
char e;
float fator=1.3,inincr,fimincr,tincr,ininde,fiminde,tinde,incocr,fimcocr,tcocr,incode,fimcode,tcode;
srand(time(NULL));
for (int a=0; a<n; a++)
{
vetor1[a]=(rand()%100);
vetorincr[a]=vetor1[a];
vetorinde[a]=vetor1[a];
vetorcocr[a]=vetor1[a];
vetorcode[a]=vetor1[a];
}
inincr = GetTickCount () ;
for (int a=1; a<n; a++)
{
x=vetorincr[a];
j=a-1;
while (j>=0&&x<vetorincr[j])
{
vetorincr[j+1]=vetorincr[j];
j--;
cont++;
}
vetorincr[j+1]=x;
}
fimincr = GetTickCount () ;
ininde = GetTickCount () ;
for (int a=1; a<n; a++)
{
x=vetorinde[a];
j=a-1;
while (j>=0&&x>vetorinde[j])
{
vetorinde[j+1]=vetorinde[j];
j--;
cont++;
}
vetorinde[j+1]=x;
}
fiminde = GetTickCount () ;
incocr = GetTickCount () ;
for(int gap=(int)(n/fator) ; gap>=1; gap=(int)gap/fator)
{
for(int a=0; a<(n-gap); a++)
{
if(vetorcocr[a]>vetorcocr[a+gap])
{
temp=vetorcocr[a];
vetorcocr[a]=vetorcocr[a+gap];
vetorcocr[a+gap]=temp;
}
}
}
fimcocr = GetTickCount () ;
incode = GetTickCount () ;
for(int gap=(int)(n/fator) ; gap>=1; gap=(int)gap/fator)
{
for(int a=0; a<(n-gap); a++)
{
if(vetorcode[a]<vetorcode[a+gap])
{
temp=vetorcode[a];
vetorcode[a]=vetorcode[a+gap];
vetorcode[a+gap]=temp;
...