viernes, 16 de septiembre de 2011

Insertar elemento en vector ordenado

Inserta un elemento en un vector ordenado sin alterar el orden


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

using namespace std;

int *V;
int n;

void intercambiar(int i,int j)
{
int temp;

temp=V[i];
V[i]=V[j];
V[j]=temp;
}

void ordenarV()
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(V[i]>V[j])
intercambiar(i,j);
}
}
}

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

void insertarV(int newElement)
{
bool agregado=false;

int index=n-1;

while(agregado==false)
{

if(newElement>=V[index])
{
V[index+1]=newElement;
agregado=true;
}
else
{
V[index+1]=V[index];
index--;
}
}

n++;
}

void main()
{

int newElement;

cout<<"Numero de elementos: ";cin>>n;

V = new int [n];

cout<<endl;

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

ordenarV();

cout<<endl<<"Su arreglo ya ordenado:"<<endl;

mostrarV();

cout<<endl<<endl<<"Escriba elemento que desee insertar en el arreglo: ";cin>>newElement;

insertarV(newElement);

cout<<endl<<"Arreglo actualizado:"<<endl;

mostrarV();

_getch();
}

No hay comentarios:

Publicar un comentario