//Quick Sort
//Codificado por sAfOrAs
#include <iostream>
#define largo 100
#include"leearreglo.h"
using namespace std;
void quicksort(int A[],int izq, int der )
{
int i, j, x , aux;
i = izq;
j = der;
x = A[ (izq + der) /2 ];
do{
while( (A[i] < x) && (j <= der) )
{
i++;
}
while( (x < A[j]) && (j > izq) )
{
j--;
}
if( i <= j )
{
aux = A[i]; A[i] = A[j]; A[j] = aux;
i++; j--;
}
}while( i <= j );
if( izq < j )
quicksort( A, izq, j );
if( i < der )
quicksort( A, i, der );
}
void main ()
{
int A[largo],n;
do{
cout<<"Cantidad de numeros a ingresar: ";cin>>n;
if(n<=0||n>largo)
cout<<"Debe ingresar un valor > a 0 y < a "<<largo<<endl;
}while(n<=0||n>largo);
leeCadena(n,A);
quicksort(A,0,n-1);
muestraCadena(n,A);
}
jueves, 19 de abril de 2012
AHORA UN VIDEO QUE EXPLICA EL METODO QUICK SORT:
A CONTINUACION OTRO VIDEITO PERO ESTA VEZ SOLO DE ORDENACION BURBUJA:
Código Fuente:
#include<iostream.h>
#define MAX 50
void leerarray(int, float[]);
void burbuja(int, float[]);
void imprime(int, float[]);
void main(void)
{ float x[MAX];
int n;
cout<<"Numero de datos a leer: "; cin>>n;
leerarray(n ,x);
burbuja(n, x);
cout<<endl<<"Elementos ordenados"<<endl;
imprime(n,x);
}
void burbuja(int n, float x[])
{ int i,j;
float temp;
for(i=0;i<n;i++)
for(j=n-1;j>i;j--)
if(x[j-1]>x[j])
{temp =x[j-1];
x[j-1]=x[j];
x[j]=temp;
}
}
void leerarray(int n, float array[])
{ for(int i=0; i<n;i++)
{cout<<"Ingrese elemento"<<i<<":";
cin>>array[i];
}
}
void imprime(int n,float array[])
{ int i;
for(i=0;i<n;i++)
cout<<"elemento"<<i<<"="<<array[i]<<endl;
}
Código Fuente:
#include<iostream.h>
#define MAX 50
void leerarray(int, float[]);
void burbuja(int, float[]);
void imprime(int, float[]);
void main(void)
{ float x[MAX];
int n;
cout<<"Numero de datos a leer: "; cin>>n;
leerarray(n ,x);
burbuja(n, x);
cout<<endl<<"Elementos ordenados"<<endl;
imprime(n,x);
}
void burbuja(int n, float x[])
{ int i,j;
float temp;
for(i=0;i<n;i++)
for(j=n-1;j>i;j--)
if(x[j-1]>x[j])
{temp =x[j-1];
x[j-1]=x[j];
x[j]=temp;
}
}
void leerarray(int n, float array[])
{ for(int i=0; i<n;i++)
{cout<<"Ingrese elemento"<<i<<":";
cin>>array[i];
}
}
void imprime(int n,float array[])
{ int i;
for(i=0;i<n;i++)
cout<<"elemento"<<i<<"="<<array[i]<<endl;
}
Suscribirse a:
Entradas (Atom)