Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Taller 1
Taller 1
#include<stdio.h>
#include<stdlib.h>
#include<cmath>
#include<vector>
#include<time.h>
#include<iostream>
#include<ctime>
//-----------------------------------------------------metodo Quicksort
int i;
int temp;
pivote = b;
valor_pivote = v[pivote];
pivote++;
temp=v[i];
v[i]=v[pivote];
v[pivote]=temp;
temp=v[b];
v[b]=v[pivote];
v[pivote]=temp;
return pivote;
}
//---------------------------------------------------metodo quicksort
int pivote;
pivote=colocar(v, b, t);
Quicksort(v, b, pivote-1);
//----------------------------------------------------metodo shellsort
int i,j,inc,temp;
for(inc=1;inc<n;inc=inc*3-1);
j=i;
temp= V[i];
V[j]= V[j-inc];
j=j- inc;
V[j]= temp;
inc/=2;
//------------------------------------------------------metodo radix
for(int i=0;i<7;i++){
for(int j=0;j<n;j++){
temp= (int)(a[j]/pow(10,i))%10;
Vec[temp].push_back(a[j]);
for(int k=0;k<10;k++)
for(int l=0;l<Vec[k].size();l++){
a[m]=Vec[k][l];
m++;
Vec[k].clear();
m=0;
//-------------------------------------------------------metodo burbuja
for (i=0;i<=n-1;i++){
for(j=i;j<n;j++){
if(V[i]>V[j]){
aux = V[i];
V[i]=V[j];
V[j]=aux;
}
}
//------------------------------------------------------------------metodo main
main()
{ FILE *archivo;
srand (time(NULL));
cin >> n;
archivo=fopen("datos4.dat","w");
fprintf(archivo,"%d\n",numero);
if((i%100)==0)
printf("*");
fprintf(archivo,"%d",numero);
cout << "\n\n Se han generado " << n << " numeros";
//burbuja
int V[n];
archivo=fopen("datos4.dat","r");
while(!feof(archivo))
i++;
}
t0=clock();
burbuja( V,n);
t1=clock();
time=time*1000;
//radix
archivo=fopen("datos4.dat","r");
i=0;
while(!feof(archivo))
fscanf(archivo, "%d",&V[i]);
i++;
t0=clock();
Radix( V,n);
t1=clock();
time=time*1000;
//shellsort
archivo=fopen("datos4.dat","r");
i=0;
while(!feof(archivo))
fscanf(archivo, "%d",&V[i]);
i++;
}
t0=clock();
Shellsort( V,n);
t1=clock();
time=time*1000;
// quicksort
archivo=fopen("datos4.dat","r");
i=0;
while(!feof(archivo))
fscanf(archivo, "%d",&V[i]);
i++;
t0=clock();
Quicksort( V,0,n-1);
t1=clock();
time=time*1000;
}
CAPTURAS DE EJECUCION
5000
20000
200000
500000
TIEMPOS EN GRAFICAS
5000
5000
200000
100000
0
1 2 3 4
Series1 Series2
20000
20000
22000
21000
20000
19000
1 2 3 4
Series1 Series2
200000
100%
200000
95%
90%
1 2
Series1 3
Series2 4
500000
500000
5000030
5000020
5000010
5000000
4999990
1 2 3 4
Series1 Series2