nesito saber como se hacer arreglos en c++ por metodo de insercion o burbuja
burbuja con clases, si consigues inserccion me avisas que tambien necesito
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
struct lista
{
int dato;
lista *sgte;
};
lista *men,*aux,*aux1,*cab,*cab2;
int k;
void ingresar()
{
char opc;
int a;
do{
cout<<"nIngrese dato: ";
cin>>a;
aux=new lista;
aux->dato=a;
aux->sgte=NULL;
if (cab==NULL)
cab=aux;
else
{
//con el for nos posicionamos antes del NULL
//para poder seguir insertando al final
for(aux1=cab;aux1->sgte!=NULL;aux1=aux1->sgte);
aux1->sgte=aux;
}
aux1=aux;
cout<<"nDesea continuar S/N: ";
cin >>opc;
}while((opc=='s')||(opc=='S'));
}
void visualizar()
{
if (cab==NULL)
cout<<"Vacia";
else
{ aux1=cab;
while(aux1!=NULL)
{ cout<<aux1->dato<<"->";
aux1=aux1->sgte;
}
cout<<"NULL";
//podemos hacerlo en 2 lineas con un for
/*for(aux1=cab;aux1!=NULL;aux1=aux1->sgte)
{cout<<aux1->dato;*/
}
getch();
}
void burbuja()
{
int tmp;
for(aux=cab;aux->sgte!=NULL;aux=aux->sgte)
{
for(aux1=aux->sgte; aux1!=NULL; aux1=aux1->sgte)
{
if(aux->dato>aux1->dato)
{
tmp=aux->dato;
aux->dato=aux1->dato;
aux1->dato=tmp;
}
}
}
}
void main()
{
clrscr();
int op;
do{
clrscr();
cout<<"n 1.- ingresar lista 1";
cout<<"n 2.- ver";
cout<<"n 3.- burbuja";
cout<<"n 4.- Salirn";
cin >>op;
switch(op)
{
case 1: ingresar(); break;
case 2: visualizar(); break;
case 3: burbuja(); break;
}
}while(op!=4);
}
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
struct lista
{
int dato;
lista *sgte;
};
lista *men,*aux,*aux1,*cab,*cab2;
int k;
void ingresar()
{
char opc;
int a;
do{
cout<<"nIngrese dato: ";
cin>>a;
aux=new lista;
aux->dato=a;
aux->sgte=NULL;
if (cab==NULL)
cab=aux;
else
{
//con el for nos posicionamos antes del NULL
//para poder seguir insertando al final
for(aux1=cab;aux1->sgte!=NULL;aux1=aux1->sgte);
aux1->sgte=aux;
}
aux1=aux;
cout<<"nDesea continuar S/N: ";
cin >>opc;
}while((opc=='s')||(opc=='S'));
}
void visualizar()
{
if (cab==NULL)
cout<<"Vacia";
else
{ aux1=cab;
while(aux1!=NULL)
{ cout<<aux1->dato<<"->";
aux1=aux1->sgte;
}
cout<<"NULL";
//podemos hacerlo en 2 lineas con un for
/*for(aux1=cab;aux1!=NULL;aux1=aux1->sgte)
{cout<<aux1->dato;*/
}
getch();
}
void burbuja()
{
int tmp;
for(aux=cab;aux->sgte!=NULL;aux=aux->sgte)
{
for(aux1=aux->sgte; aux1!=NULL; aux1=aux1->sgte)
{
if(aux->dato>aux1->dato)
{
tmp=aux->dato;
aux->dato=aux1->dato;
aux1->dato=tmp;
}
}
}
}
void main()
{
clrscr();
int op;
do{
clrscr();
cout<<"n 1.- ingresar lista 1";
cout<<"n 2.- ver";
cout<<"n 3.- burbuja";
cout<<"n 4.- Salirn";
cin >>op;
switch(op)
{
case 1: ingresar(); break;
case 2: visualizar(); break;
case 3: burbuja(); break;
}
}while(op!=4);
}
