martes, 23 de agosto de 2011

Viedotutorial Algoritmo Ordenamiento Punteros

Video en camtasia: el video se muestra la implementación del algoritmo presentado anteriormente.



A continuación se muestra el código:


#include <iostream>
#include <iomanip>
using namespace std;
 void orden(int*, const int);// prototipo
 void swap(int * const, int * const);// prototipo
int main()
{
    const int nSize =10;
    int a[ nSize ]={3, 9, 14, 27, 18, 154, 8, 6, 74, 33};  //numeros a ordenar
    cout<<"\nElementos a ordenar\n";
    for(int j =0; j < nSize; j++)
    cout<< setw(5)<< a[ j ];
    cout<< endl;
    orden( a, nSize );// funcion que ordena el arreglo, definida en la parte inferior
    cout<<"\nElementos ordenados\n";
    for(int j =0; j < nSize; j++)
    cout<< setw(5)<< a[ j ];
    cout<< endl;

    return 0;// indica terminación exitosa
}
int aux;
 void orden(int*matriz, const int nSize )
{
    for(int pasada =0; pasada < nSize -1; pasada++)
    {
        for(int k =0; k < nSize -1; k++)
        {
            if( matriz[ k ]> matriz[ k +1])
            {  swap(&matriz[ k ], &matriz[ k +1]);
                }

        }
        aux = pasada + 1;
        cout<< setw(5)<< aux<<" ";
        for(int l =0; l < nSize; l++)  cout<< setw(5)<<matriz[ l ];
        cout<< endl;
    }
}

void swap(int*const ptrElemento1, int*const ptrElemento2 )
{
    int mantiene =*ptrElemento1;
    *ptrElemento1 =*ptrElemento2;
    *ptrElemento2 = mantiene;
}

No hay comentarios:

Publicar un comentario