top of page
  • Black Facebook Icon
  • Black Instagram Icon
  • Black Twitter Icon

METODOS DE ORDENAMIENTO

Definicion

Debido a que las estructuras de datos son utilizadas para almacenar información, para poder recuperar esa información de manera eficiente es deseable que aquella esté ordenada. Existen varios métodos para ordenar las diferentes estructuras de datos básicas.
En general los métodos de ordenamiento no son utilizados con frecuencia, en algunos casos sólo una vez. Hay métodos muy simples de implementar que son útiles en los casos en dónde el número de elementos a ordenar no es muy grande (ej, menos de 500 elementos). Por otro lado hay métodos sofisticados, más difíciles de implementar pero que son más eficientes en cuestión de tiempo de ejecución.

Programación en Devc++

​

#include <iostream>

#include <math.h>

using namespace std;

 

int A, x, AUX, V, I, j, k;

int vector [10];

int opcion;

int orenar_1 (), ordenar_2 (), ordenar_3 (), ordenar_4 ();

int ver_1 (), ver_2 (), ver_3 (), ver_4 ();

int opción_B, opción_S, opción_I, opción_SH;

 

void BURBUJA ();

void SELECCION ();

void INSERSION ();

void SHELL ();

void QUICK_SORR ();

 

int main ();

                {

                               cout<<"\tM       E       N       U\n";

                               cout<<"1) BURBUJA\n";

                               cout<<"2) SELECCION\n";

                               cout<<"3) INSERSION\n";

                               cout<<"4) SHELL\n";

                               cout<<"5) QUICK SORR\n";

                               cout<<"Ingrese una opcion: \n";

                               cin>>opcion;

                              

                               switch (opcion)

                                               {

                                                               case 1:

                                                                              {

                                                                                              BURBUJA ();

                                                                              };break;

                                                               case 2:

                                                                              {

                                                                                              SELECCION ();

                                                                              };break;

                                                               case 3:

                                                                              {

                                                                                              INSERSION ();

                                                                              };break;

                                                               case 4:

                                                                              {

                                                                                              SHELL ();

                                                                              };break;

                                                               case 5:

                                                                              {

                                                                                              QUICK_SORR ();

                                                                              };break;

                                               }//FIN SWITCH

                }

               

               

//ZONA DE FUNCIONES

void BURBUJA ()

{

    cout<<"\tBURBUJA\n";

    int opcion_B;

    cout<<"1)LEER\n";

    cout<<"1)ORDENAR\n";

    cout<<"2)VER\n";

    cin>>opcion_B;

    if(opcion_B>0,opcion_B<4){

        switch (opcion_B)

{

                               case 1:

{

                                               leer ();

                               };break;   

                               case 2:

{

                                               Ordenar_1 ();

                               };break;

                               case 3:

{

                                               Veer_1 ();

                               };break;

        }

    }

 

int leer ()

    cout<<"Leer Vectores\n";

    cout<<endl;

    cout<<"Total= ";cin>>n;cout<<endl;

    i=1;

    cout<<"Vector[]\n";

    while(i<=n){

        cout<<"Vector["<<i<<"]= ";

        cin>>A[i];

        i=i+1;

    }cout<<endl;

}

 

int ordenar_1()

{

    cout<<endl;

    cout<<"Ordenar\n";

    for(r=1;r<=n-1;r++){

        for(i=1;i<=n;i++){

            if(A[i]>A[i+1]){

                axu=A[i];

                A[i]=A[i+1];

                A[i+1]=axu;

               

            }

 

int ver_1 ()

{

    cout<<"Ver Vectores\n";

    i=1;

    cout<<"Vector[]\n";

    while(i<=n){

        cout<<"Vector["<<i<<"]= ";

        cout<<A[i];

        i=i+1;

        cout<<endl;

    }

    cout<<"#vueltas: "<<r<<endl;

    cout<<endl;

}

 

 

void SELECCION ()

{

    cout<<"\tSELECCION\n";

    int opcion_S;

    cout<<"1)ORDENAR\n";

    cout<<"2)VER\n";

    cin>>opcion_S;

    if(opcion_S>0,opcion_S<3){

        switch (opcion_S)

{   

                               case 1:

{

                                                               Ordenar_2 ();

                                               };break;

                               case 2:

{

                                                               Ver_2();

                                               };break;

                }

}

int ordenar_2 ()

{

    for(i=1;i<=n;i++)

{

                                menor=A[i];

                               k=i;

                               for(j=1;j<=n;j++)

{

                                                               if(A[j]<menor)

{

                                                                                              menor=A[j];

                                                                                              k=j;

               

                                                                              }

                                               }A[k]=A[i];

                                               A[i]=menor;

 }

Void INSERSION ()

{

cout<<"\tINSERSION\n";

int opcion_I;

                cout<<"1) ORDENAR\n";

                cout<<"2) VER\n";

                cin>>opcion_I;

                if(opcion_I>0,opcion_I<3)

{

                                switch (opcion3)

{   

                                               case 1:

{

                                              ordenar_3 ();

                 };break;

                                               case 2:

{

                                                               ver_3 ();

            };break;

                               }

                }

}

 

int ordenar_3 ()

{

    for (i=1; i<n; i++)

{

                a=A[i];

                j=i - 1;

                while ( (A[j] >a) && (j >= 0) )

{

                               A[j+1] = A[j];

                               j--;

                               A[j+1] = a;

                               }        

                }

}

Void SHELL ()

{

cout<<"\tSHELL\n";

                cout<<"1)Oredenar\n";

                cout<<"2)Ver\n";

                cin>>opcion_SH;

                if(opcion_SH>0,opcion_SH<3)

{

                                switch (opcion_SH)

{   

                                               case 1:

{

                                                               Ordenar_4 ();

                };break;

                                               case 2:

{

                                                               Ver_4 ();

                                               };break;

                               }

                }

}

 

Int ordenar_4 ()

{

    int i, j, inc,axu;

    for(inc=1 ; inc>0;)

{

                               for (i=inc;i=inc;A[j-inc]>axu)

{

                                               A[j] = A[j-inc];

                                               j = j-inc;

                               }A[j] = axu;

                }inc/= 2;   

}

© 2023 by Extreme Blog. Carlos Eduardo Mina Vilca

  • Grey Facebook Icon
  • Grey Instagram Icon
  • Grey Twitter Icon
bottom of page