sábado, 24 de mayo de 2014

Métodos de ordenamiento

Métodos de ordenamiento

Hemos revisado algunos métodos de ordenamiento como son los algoritmos que se listan, para ver una animación de ellos siga los enlaces para cada método:
Verificamos que estos programas están escritos en C#, a partir de ellos compartamos con nuestros compañeros:
  • El algoritmo para cada método
  • Su implementación en C++
  • Su implementación en java
  • Y la posibilidad de resolver las dudas de los participantes

6 comentarios:

  1. Método de Ordenamiento Shell Sort (c++) :

    #include
    #include
    #include
    using namespace std;

    int main(int argc, char *argv[]) {
    srand(time(NULL));
    int x[10];
    int i;
    int n=10;
    int salto;
    int bandera;

    srand(time(NULL));
    for(i=0;i0;salto=salto/2)
    do{
    bandera=0;
    for(i=0;ix[i+salto]){
    temporal=x[i];
    x[i]= x[i+salto];
    x[i+salto]=temporal;
    bandera=1;
    }
    }while(bandera);



    cout<<endl;
    cout<<"DESPUES DEL ORDENAMIENTO :"<<endl<<endl;
    for(i=0;i<n;i++)
    cout<<x[i]<<'\t';


    }

    ResponderBorrar
  2. MÉTODO DE ORDENAMIENTO POR SELECCIÓN
    .............. Pseudocódigo (pseint )...............

    Proceso sin_titulo
    Dimension vector[100]
    Escribir "Ingrese el numero e elementos: "
    Leer n
    Para i<-1 Hasta n Hacer
    Escribir "Ingrese el valor ",i,": "
    Leer vector[i]
    Fin Para
    Para i<-1 Hasta n Hacer
    Escribir Sin Saltar vector[i]," "
    Fin Para
    Para j<-1 Hasta n-1 Hacer
    Para k<-j+1 Hasta n Hacer
    Si(vector[k] < vector[j]) Entonces
    temp<-vector[k]
    vector[k]<-vector[j]
    vector[j]<-temp
    Sino
    Fin Si
    Fin Para
    Fin Para
    Escribir " "
    Escribir " "
    Escribir "Numeros ordenados: "
    Escribir " "

    Para i<-1 Hasta n Hacer
    Escribir sin saltar vector[i]," "
    Fin Para
    FinProceso

    ResponderBorrar
  3. //Quick Sort
    //Codificado por sAfOrAs
    #include
    #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 );
    }

    ResponderBorrar
    Respuestas
    1. método de burbuja
      #include
      using namespace std;
      int main(int argc, char *argv[] )
      ??<
      int i,j,k,cn;
      int n??('cn'??);
      cout<<"Cantidad de numeros que desea Ingresar: ";cin>>cn;

      for(i=0;i>n[i];
      }

      for(i=1;in[j+1])
      {k=n[j+1]; n[j+1]=n[j]; n[j]=k;}
      }
      }

      for(i=0;i

      Borrar
  4. #include
    using namespace std;

    const unsigned N = 5;
    typedef unsigned Cuadrado[N][N];

    void introDatos(Cuadrado& c);
    bool es_magica(const Cuadrado& c);
    unsigned resultado(const Cuadrado& c);
    bool filas(const Cuadrado& c, unsigned res);
    bool columnas(const Cuadrado& c, unsigned res);
    bool d1(const Cuadrado& c, unsigned res);
    bool d2(const Cuadrado& c, unsigned res);


    int main() {
    Cuadrado c;

    introDatos(c);
    if(es_magica(c)){
    cout << "El cuadrado es magico" << endl;
    }else{
    cout << "No es un cuadrado magico" << endl;
    }

    return 0;
    }

    void introDatos(Cuadrado& c){
    cout << "Introduzca numeros entre 1 y 25 sin repetir ninguno: " << endl;
    for(unsigned i=0;i> c[i][j];
    }
    }
    }

    bool es_magica(const Cuadrado& c){
    unsigned res = resultado(c);

    if((!filas(c,res))||(!columnas(c,res))||(!d1(c,res))||(!d2(c,res))){
    return false;
    }else{
    return true;
    }
    }

    unsigned resultado(const Cuadrado& c){
    unsigned res = 0;
    for(unsigned j=0;j=0)&&(j>=0)){
    suma+=c[i][j];
    i--;
    j--;
    }
    if(suma!=res){
    igual = false;
    }
    return igual;
    }

    ResponderBorrar