The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Código C++ – Ordenamiento 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);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

20 Respuestas a “Código C++ – Ordenamiento Quick Sort

  1. Julio César Cardona Maturana septiembre 30, 2016 en 9:45 am

    AMIGO, NO SOY DE LOS QUE COMENTA ESTE TIPO DE COSAS… SIN EMBARGO ME URGE REALIZARTE UNA RECOMENDACIÓN, EL TEMA DE FUNCIONES ES DISTINTO AL TEMA DE MÉTODOS DE ORDENAMIENTO, POR ENDE ES INÚTIL QUE INCLUYAS FUNCIONES Y LAS LLAMES DESDE OTRA FUNCIÓN, PUESTO QUE DE ESTA FORMA EL EJEMPLO ES MENOS COMPRENSIBLE PARA LOS QUE LEEN ESTO(Y NO TIENEN CONOCIMIENDO), O SI NO CREES QUE SEA ASÍ… AL MENOS CAMBIA EL NOMBRE A “APLICANDO EL MÉTODO QUICKSORT LIGADO A FUNCIONES.”

  2. Orin abril 15, 2016 en 12:40 pm

    gracias brother

  3. zero diciembre 18, 2013 en 12:29 am

    Por lo que veo entra las n veces en recurcion que seria el tamaño del arreglo o la porcion que se especifica del areglo (int der) el codigo original esta bien

    Pero muy bien (POR FAVOR DE NO COPIAR EL CODIGO SOLO TE ENGAÑAS A TI MISMO)

  4. Aalan Laredo Medrano febrero 20, 2013 en 1:48 am

    Me sirvio excelente hice algunas modificaciones minimas,y el Codigo final ya naadamas para pegar es este (UNA COSA ME GUSTARIA QUE AL LADITO PUSIERAN SEÑALACIONES DEL PROCESO, ASI ANALISAMOS MUCHO MEJOR LO QUE SUCEDE CON ESTE METODO DE ORDENAMIENTO)
    //Quick Sort
    //Codificado por sAfOrAs
    #include “stdafx.h”
    #include
    #define largo 100
    using namespace std;
    void leeCadena(int cant,int n[])
    {
    int i;
    for(i=0;i<cant;i++)
    {
    cout<<"Ingresa numero "<<i+1<>n[i];
    }

    }

    void muestraCadena(int cant,int n[])
    {
    int i;
    for(i=0;i<cant;i++)
    {
    cout<<n[i]<<endl;
    }
    }
    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 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<>n;
    if(nlargo)
    cout< a 0 y < a "<<largo<<endl;
    }while(nlargo);
    leeCadena(n,A);
    quicksort(A,0,n-1);
    muestraCadena(n,A);
    system(“PAUSE”);

    }

  5. Anónimo febrero 5, 2013 en 10:41 am

    #define n 8
    int A[n]={1,4,8,9,5,2,3,4};

    void quickSort(int l, int r){
    int i = l, j = r;
    int tmp = A[(i + j) >> 1];
    do{
    while(i <= r and A[i] < tmp) i++;
    while(l <= j and tmp < A[j]) j–;

    if(i <= j) swap(A[i], A[j]), i++, j–;
    }while(i <= j);

    if(l < j) quickSort(l, j);
    if(i < r) quickSort(i, r);
    }

    int main(){
    quickSort(0, n-1);
    for(int i=0; i<n; ++i) cout << A[i] << endl;
    }

  6. richard octubre 18, 2012 en 2:49 pm

    no corre el programa en devC++ , tengo problemas llamando las funciones

  7. gardenia ortega mayo 21, 2012 en 9:06 pm

    es una tarea de un codigo quisort en una matriz, array o arreglo por dos tabla una trabajador y familiares seguido los campos por coma ej; ced,apellido,nombre y fecha de nac esta es tabla trabajador y tabla familiares cedula del trabajador,ced familiar,apellido, parestesco-trabajador; select sql urgent responder

  8. gardenia ortega mayo 21, 2012 en 9:00 pm

    necesito un cvodigo de cola urgente donde pueda encolar,desencolar e imprimir con campo de cedula seguidopo coma nombre y apellido

  9. edith noviembre 23, 2011 en 9:40 pm

    me marca error en la segunda linea de codigo

    • edith noviembre 23, 2011 en 9:42 pm

      n0o es en la curta linea
      en el using namespace std;

  10. edith noviembre 23, 2011 en 9:38 pm

    pued0o ejecutar el programa desde dev c++?

  11. Anónimo octubre 7, 2011 en 2:08 pm

    que porqueria llave gazzz

  12. yo junio 3, 2011 en 6:57 pm

    y tambien si me pudieran explicar muy en especifico la funcion return se los agradeceria mucho grasias

    • BeAsTiEuX junio 3, 2011 en 7:27 pm

      Hola, como estas, on se si te refieres a este topic o a explicarte la funcioón return desde cero, pero como ves aquí no usamos explicitamente una función return, pero si hacemos uso de la recursividad , por lo cual supondré que te refieres a que te explique como funciona return desde cero. En si la función return lo que hace es devolver un valor de un tipo de dato respectivo a una variable del mismo tipo de dato, ejem:

      int mi_funcion() //int indica que retornara un tipo int, puede ser el tipo de dato que quieras siempre y cuando devuelvas ese mismo tipo de dato o también usa void cuando no retornará ningún valor
      {
      int a;
      a=10;

      return a; //retorna 10
      }

      void main()
      {
      int b;
      b=mi_funcion(); //mi función retornará 10, entonces b sera igual a 10
      }

      un saludo, gracias por visitar este sitio…

      • yo junio 6, 2011 en 5:20 pm

        no pues grasias a ti, y ps aqi me tendras muy seguido jajja

        “gnr”
        que vivael rock

  13. yo junio 3, 2011 en 6:56 pm

    me gusta mucho este foro

  14. yo junio 3, 2011 en 6:55 pm

    me gusta

  15. Anónimo mayo 17, 2011 en 11:37 am

    corrijan sta mal

    • BeAsTiEuX mayo 17, 2011 en 3:10 pm

      qué parte esta mal?, porque recuerdo haberlos probado antes…

    • kr julio 19, 2011 en 6:36 pm

      pajuo

No te quedes callado. Pregunta, Comenta, Comparte, Sígueme, Suscríbete, Déjame tu opinión... Soy Beastieux Zeroo...

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: