jueves, 19 de abril de 2012

AHORA UN VIDEO QUE EXPLICA EL METODO QUICK SORT:











//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);
  
}

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;
 }
A CONTINUACION UN VIDEO QUE TIENE ALGUNOS DE LOS METODOS DE ORDENACION Y BUSQUEDA: