Heap 1
Heap 1
Heap 1
#include<conio.h>
#include<time.h>
#define max 280000
using namespace std;
A[i]=rand()%n;
}
}
if(valor)
{
for(k=p;k<=r;k++)
{
if(l1[i]<=l2[j])
{
A[k]=l1[i];
i++;
}
else
{
A[k]=l2[j];
j++;
}
}
}
else
{
l1[m1]=n*(-1);
l2[m2]=n*(-1);
for(k=p;k<=r;k++)
{
if(l1[i]>=l2[j])
{
A[k]=l1[i];
i++;
}
else
{
A[k]=l2[j];
j++;
}
}
}
}
void mergesortinv(int A[max],int p,int r,bool valor)
{
int q;
if(p<r)
{
q=(p+r)/2;
mergesortinv(A,p,q,valor);
mergesortinv(A,q+1,r,valor);
fusion(A,p,q,r,valor);
}
}
int main(void)
{
int A[max];
system ("color 2b");
cout<<"\n ALGORITMO DE ORDENACION "<<endl;
int n;
char op;
float ini,fin,t1,t2,t3,t4,t5,t6,t7,t;
do{
getch();
switch(op){
case '1': {cout<<"ordenacion burbuja"; ini=clock(); burbujainv(A,n); fin=clock();
t1=fin-ini; Muestra(n,A); cout<<endl<<"tiempo"<<(double)t1/
((double)CLOCKS_PER_SEC)<<"segundos"; break; } //quiero enviar por referencia p
porque sino cambiaria en la direccion de memoria en la funcion
case '2': {cout<<"ordenacion quicksort"; ini=clock(); Quickinv(0,n,A);
fin=clock(); t2=fin-ini;
Muestra(n,A); cout<<"tiempo"<<endl<<(double)t2/
((double)CLOCKS_PER_SEC)<<"segundos"; break; }
case '3': {cout<<"ordenacion shell"; ini=clock(); shellinv(n,A); fin=clock();
t3=fin-ini;
Muestra(n,A); cout<<endl<<(double)t3/
((double)CLOCKS_PER_SEC)<<"segundos"; break; }
case '4':{cout<<"ordenacion insercion"; ini=clock(); insertarinv(n,A);
fin=clock(); t4=fin-ini;
Muestra(n,A); cout<<endl<<(double)t4/
((double)CLOCKS_PER_SEC)<<"segundos"; break; }
case '5': {cout<<"ordenacion seleccion"; ini=clock(); seleccioninv(n,A);
fin=clock(); t5=fin-ini;
Muestra(n,A); cout<<endl<<(double)t5/
((double)CLOCKS_PER_SEC)<<"segundos"; break; }
case '6':{cout<<"ordenacion heaps"; ini=clock(); heapSortinv(A,n); fin=clock();
t6=fin-ini;
Muestra(n,A); cout<<endl<<(double)t6/
((double)CLOCKS_PER_SEC)<<"segundos"; break; }
case '7':{cout<<"ordenacion merge"; ini=clock(); mergesortinv(A,0,n-1,false);
fin=clock(); t7=fin-ini;
Muestra(n,A); cout<<endl<<(double)t7/
((double)CLOCKS_PER_SEC)<<"segundos"; break; }
case '8':{cout<<"comparar todo"<<endl;
default: cout<<"salir";
}
}while(op!='9');
cout<<endl<<"\n salir"<<endl;
getch();
return EXIT_SUCCESS;
}