top of page

ULTIMA CLASE

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int opcion;
    {
    cout<<"******************menu************* :  \n";
    cout<<"1) metodo burbuja:  \n";
    cout<<"2) metodo por seleccion\n";
    cout<<"3) metodo insersion  \n";
    cout<<"4) metodo shell  \n";
    cout<<"5) metodo quick sort \n";
    cin>>opcion;
    switch(opcion)
     {
             case 1:
      {
          int n,aux;
          cout<<"ingrese la cantidad de numeros:"; cin>>n;
          
          int V[n];
          //LLENAR MI VECTOR
          for (int i=0;i<n;i++){
              cout<<"numero" <<i+1<<"=";
              cin>>V[i];
          }
          
          //ORDENAR
          
          for(int i=0;i<n;i++){
              for(int j=i+1;j<n;j++){
                if(V[j]<V[i]){
                   aux=V[i];
                     V[i]=V[j];
                     V[j]=aux;
          }
       }
     }
    
     cout<<"elementos ordenados:"<<endl;
     for(int i=0; i<n; i++){
     cout<<V[i]<<endl;
    }
    
   }


     
     case 2:
         
      {
          {
             int n;
         cout<<"ingrese el numero de elementos "<<endl;
        cin>>n;
         int a[n];
       for(int i=0;i<n;i++)
    {
        cout<<"Ingrese valores "<<(i+1)<<" del arreglo"<<endl;
        cin>>a[i];
    }
   Seleccion(a , n);
   Imprimir(a , n);
}
void Seleccion(int a[] ,  int n)
{
    //Variables a utilizar
    int k , menor , i , j;
    for(i=0;i<n;i++)
    {
        menor=a[i];
        k=i;
         for(j=i+1;j<n;j++)
         {
             if(a[j]<menor)
             {
                 menor = a[j];
                 k=j;
             }
         }
         a[k]=a[i];
         a[i]=menor;
    }
  }
    void Imprimir(int a[] , int n)
{
    cout<<"EL orden correpto es "<<endl;
     
    for(int i=0;i<n;i++)
        cout<<"[ "<<a[i]<<" ]";
             
           }
 }
           

    case 3:
        {

            {
     cout<<"Numeros Ordenados de Menor a Mayor"<<endl;
    for(int i=0;i<n;i++)
        cout<<"[ "<<a[i]<<" ]";
}
void Insercion(int a[] , int n)
{
    int i,k,aux;
    for(i=0;i<=n-1;i++)
    {
        aux=a[i];
        k=i-1;
        while((k>=0) && (aux<a[k]))
        {
            a[k+1]=a[k];
            k=k-1;
        }
        a[k+1]=aux;
    }
}
int main()
{
    int n;
    cout<<"ingrese el numero de elementos"<<endl;
    cin>>n;
    int num[n];
    for(int i=0;i<n;i++)
    {
        cout<<"Ingrese el numero "<<(i+1)<<endl;
        cin>>num[i];
    }
    Insercion(num,n);
    Imprimir(num,n);

    return 0;
}
    
}
    case 4:
        {
        
        {
        int total;
    cout<<"ingrese el numero de elementos"<<endl;
    cin>>total;
    int num[total];
    for(int i=0;i<total;i++)
    {
        cout<<"Ingrese el numero para la posicion [ "<<(i+1)<<" ] del arreglo"<<endl;
        cin>>num[i];
    }
    Shell(num,total);
}
void Shell(int a[] , int n)
{
    int ints,i,aux;
    bool band;
    ints=n;
    while(ints>1)
    {
        ints=(ints/2);
        band=true;

        while(band==true)
        {
            band=false;
            i=0;
            while((i+ints)<=n)
                {
                    if(a[i]>a[i+ints])
                    {
                        aux=a[i];
                        a[i]=a[i+ints];
                        a[i+ints]=aux;
                        band=true;
                    }
                i++;
         Imprimir(a,n);

                }
        }
    }
}
void Imprimir(int a[] , int n)
{
    cout<<"Numeros del arreglo ordenandos de Menor a Mayor"<<endl;

    for(int i=0;i<n;i++)
        cout<<"[ "<<a[i]<<" ]";


}    
        }
        
    case 5:
        {
        
        {
        int n ;
    cout<<"IIIEE-2\n\n\n ";
    cout<<"ingrese el numero de elementos "<<endl;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++){
        cout<<"Ingresa el elemento numero "<<i+1<<" : "<<endl;
        cin>>a[i];
    }
    QuickSort(a,n);
    Imprimir(a,n);
}
void QuickSort(int a[] , int n)
{
    int tope, ini, fin , pos;
            int may[MAX],menor[MAX];
            tope=0;
            menor[tope]=0;
            may[tope]=n-1;
            while(tope>=0)
            {
                ini = menor[tope];
                fin = may[tope];
                tope--;
            int izq,der,aux;
            bool band;
            izq=ini;
            der=fin;
            pos=ini;
            band=true;
            while(band==true)
            {
                while((a[pos]<a[der]) && ( pos!=der ))
                    der--;
                if(pos==der)
                    band=false;
                else
                {
                    aux=a[pos];
                    a[pos]=a[der];
                    a[der]=aux;
                    pos=der;
                }
                while((a[pos]>a[izq]) && ( pos!=izq ))
                    izq++;

                 if(pos==izq)
                    band=false;
                else
                {
                    aux=a[pos];
                    a[pos]=a[izq];
                    a[izq]=aux;
                    pos=izq;
                }
            }
                if(ini<=(pos-1))
                {
                    tope++;
                    menor[tope]=ini;
                    may[tope]=pos-1;
                }
                if(fin>=(pos+1))
                {
                    tope++;
                    menor[tope]=pos+1;
                    may[tope]=fin;
                }
            }
}
void Imprimir(int a[] , int n){
    cout<<"Elementos Ordenados"<<endl;
    for(int i =0 ;i<n;i++){
        cout<<"["<<a[i]<<"]";
        
    }
}    
        }
          }        
    }
}

© 2023 by Name of Site. Proudly created with Wix.com

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