viernes, 16 de septiembre de 2011

Bubble Sort recursivo

Versión recursiva del método de Bubble Sort


#include "stdafx.h"
#include "iostream"
#include "conio.h"

using namespace std;

int n;

void intercambio(int vector[],int i,int j)
{
int temp;
temp=vector[i];
vector[i]=vector[j];
vector[j]=temp;
}


void bubbleSortRecursivo(int vector[],int index1,int index2)
{
if(index1<n-1)
{
if(index2<n)
{
if(vector[index1]>vector[index2])
intercambio(vector,index1,index2);

bubbleSortRecursivo(vector,index1,index2+1);
}
else
bubbleSortRecursivo(vector,index1+1,index1+2);
}
}

void mostrarVector(int vector[])
{
for(int i=0;i<n;i++)
cout<<"V["<<i+1<<"] = "<<vector[i]<<endl;
}

void main()
{
cout<<"Ingrese numero de elementos: ";cin>>n;

int *V = new int [n];

cout<<endl;

for(int i=0;i<n;i++)
{
cout<<"V["<<i+1<<"] = ";
cin>>V[i];
}

bubbleSortRecursivo(V,0,1);

cout<<endl<<"Vector ordenado: "<<endl<<endl;

mostrarVector(V);

_getch();
}

No hay comentarios:

Publicar un comentario