METODOS DE ORDENAMIENTO
BURBUJA
#include"iostream.h"
#include"conio.h"
void main()
{ clrscr();
int aux,i,A[20],n,j;
cout<<"Ingrese la cantidad de elementos :";
cin>>n;
cout<<endl;
cout<<"Ingrese los elementos del vector "<<endl;
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:";cin>>A[i];
}
cout<<endl;
cout<<"ORDENANDO POR BURBUJA "<<endl;
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
if(A[i]>=A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:"<<A[i]<<endl;
}
getch();
}
#include"conio.h"
void main()
{ clrscr();
int aux,i,A[20],n,j;
cout<<"Ingrese la cantidad de elementos :";
cin>>n;
cout<<endl;
cout<<"Ingrese los elementos del vector "<<endl;
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:";cin>>A[i];
}
cout<<endl;
cout<<"ORDENANDO POR BURBUJA "<<endl;
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
if(A[i]>=A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:"<<A[i]<<endl;
}
getch();
}
HEAP SORT
#include<iostream.h>
#include<conio.h>
void main(){
int m,n,a,K[10];
cout<<"Ingrese el orden del array ";
cin>>a;
for(m=1;m<=a;m++){
cout<<"el vector ["<<m<<"] : ";
cin>>K[m];
}
int ma,in,d;
for(m=a;m>=2;m--){
ma=K[m];
in=m;
for(n=1;n<=m-1;n++){
if(K[n]>ma){
ma=K[n];
in=n;
}
}
for(d=in;d<=m-1;d++){
K[d]=K[d+1];
}
K[m]=ma;
}
cout<<"Ordenado es: "<<endl;
for(m=1;m<=a;m++){
cout<<K[m]<<" ";
}
getch();
}
#include<conio.h>
void main(){
int m,n,a,K[10];
cout<<"Ingrese el orden del array ";
cin>>a;
for(m=1;m<=a;m++){
cout<<"el vector ["<<m<<"] : ";
cin>>K[m];
}
int ma,in,d;
for(m=a;m>=2;m--){
ma=K[m];
in=m;
for(n=1;n<=m-1;n++){
if(K[n]>ma){
ma=K[n];
in=n;
}
}
for(d=in;d<=m-1;d++){
K[d]=K[d+1];
}
K[m]=ma;
}
cout<<"Ordenado es: "<<endl;
for(m=1;m<=a;m++){
cout<<K[m]<<" ";
}
getch();
}
INSERCION SORT
#include<iostream.h>
#include<conio.h>
int main(){
int m,n,a,K[10];
cout<<"Ingres el orden del array ";
cin>>a;
for(m=1;m<=a;m++){
cin>>K[m];
}
int r,d,b;
for(m=2;m<=a;m++){
if(K[m-1]>K[m]){
r=K[m];
b=m;
for(d=m-1;d>=1;d--){
if(K[d]>r)
b=b-1;
}
for(n=m;n>=b+1;n--){
K[n]=K[n-1];
}
K[b]=r;
}
}
for(m=1;m<=a;m++){
cout<<"\t"<<K[m];
}
getch();
return 0;
}
#include<conio.h>
int main(){
int m,n,a,K[10];
cout<<"Ingres el orden del array ";
cin>>a;
for(m=1;m<=a;m++){
cin>>K[m];
}
int r,d,b;
for(m=2;m<=a;m++){
if(K[m-1]>K[m]){
r=K[m];
b=m;
for(d=m-1;d>=1;d--){
if(K[d]>r)
b=b-1;
}
for(n=m;n>=b+1;n--){
K[n]=K[n-1];
}
K[b]=r;
}
}
for(m=1;m<=a;m++){
cout<<"\t"<<K[m];
}
getch();
return 0;
}
INSERSION
#include<iostream.h>
#include<conio.h>
void main(){
int a,K[10],y,num;
cout<<"Ingrese la dimensión del array ";
cin>>a;
cout<<"Ingrese los numeros "<<endl;
for(int m=1;m<=a;m++){
cin>>K[m];
}
for(m=2;m<=a;m++){
y=m;
num=K[m];
while(K[y]<K[y-1] && y>1){
K[y]=K[y-1];
y--;
}
K[y]=num;
}
for(m=1;m<=a;m++){
cout<<" "<<K[m];
}
getch();
}
#include<conio.h>
void main(){
int a,K[10],y,num;
cout<<"Ingrese la dimensión del array ";
cin>>a;
cout<<"Ingrese los numeros "<<endl;
for(int m=1;m<=a;m++){
cin>>K[m];
}
for(m=2;m<=a;m++){
y=m;
num=K[m];
while(K[y]<K[y-1] && y>1){
K[y]=K[y-1];
y--;
}
K[y]=num;
}
for(m=1;m<=a;m++){
cout<<" "<<K[m];
}
getch();
}
MERGE SORT
#include"conio.h"
#include<iostream.h>
void crear(struct nodo **);
void insertar(struct nodo **,int);
void recorrer_InOrden(struct nodo **);
struct nodo{
int valor;
struct nodo *i;
struct nodo *d;
};
void main(){ clrscr();
struct nodo *arbol;
short a;
int num;
cout<<"Ingrese la cantidad de numeros a evluar "<<endl;
cin>>a;
crear(&arbol);
cout<<endl<<"Ingrese los numeros "<<endl<<endl;
for(unsigned short m=1;m<=a;m++){
cin>>num;
insertar(&arbol,num);
}
cout<<endl<<endl<<"Ordenado por merge sort es : "<<endl<<endl;
recorrer_InOrden(&arbol);
cout<<endl<<endl;
getch();
}
void crear(struct nodo **arbol){
(*arbol)=NULL;
}
void insertar(struct nodo **arbol,int numero){
struct nodo *aux,*p,*ant;
aux=new nodo;
aux->valor=numero;
ant = NULL;
p= *arbol;
while(p!=NULL){
ant=p;
if(numero<p->valor)
p=p->i;
else
p=p->d;
}
if(ant==NULL){
aux->i= *arbol;
aux->d= *arbol;
*arbol=aux;
}
else{
if(numero>ant->valor)
ant->d=aux;
else
ant->i=aux;
aux->i=p;
aux->d=p;
}
}
void recorrer_InOrden(struct nodo **arbol){
if((*arbol)->i!=NULL)
recorrer_InOrden(&(*arbol)->i);
cout<<" "<<(*arbol)->valor;
if((*arbol)->d!=NULL)
recorrer_InOrden(&(*arbol)->d);
}
#include<iostream.h>
void crear(struct nodo **);
void insertar(struct nodo **,int);
void recorrer_InOrden(struct nodo **);
struct nodo{
int valor;
struct nodo *i;
struct nodo *d;
};
void main(){ clrscr();
struct nodo *arbol;
short a;
int num;
cout<<"Ingrese la cantidad de numeros a evluar "<<endl;
cin>>a;
crear(&arbol);
cout<<endl<<"Ingrese los numeros "<<endl<<endl;
for(unsigned short m=1;m<=a;m++){
cin>>num;
insertar(&arbol,num);
}
cout<<endl<<endl<<"Ordenado por merge sort es : "<<endl<<endl;
recorrer_InOrden(&arbol);
cout<<endl<<endl;
getch();
}
void crear(struct nodo **arbol){
(*arbol)=NULL;
}
void insertar(struct nodo **arbol,int numero){
struct nodo *aux,*p,*ant;
aux=new nodo;
aux->valor=numero;
ant = NULL;
p= *arbol;
while(p!=NULL){
ant=p;
if(numero<p->valor)
p=p->i;
else
p=p->d;
}
if(ant==NULL){
aux->i= *arbol;
aux->d= *arbol;
*arbol=aux;
}
else{
if(numero>ant->valor)
ant->d=aux;
else
ant->i=aux;
aux->i=p;
aux->d=p;
}
}
void recorrer_InOrden(struct nodo **arbol){
if((*arbol)->i!=NULL)
recorrer_InOrden(&(*arbol)->i);
cout<<" "<<(*arbol)->valor;
if((*arbol)->d!=NULL)
recorrer_InOrden(&(*arbol)->d);
}
QUICK SORT
#include<conio.h>
#include<stdio.h>
void main()
{
int n,A[10];
int i,izq,der,aux,pos;
int bandera;
printf("\n ORDDENAMIENTO POR QUICK SORT \n");
printf("\n ingrese la dimencion del arreglo a ordenar\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("arreglo[%d]",i);
scanf(" %d",&A[i]);
}
//ordenado por el metodo de la seleccion
izq=1;
pos=1;
bandera=1;
while(bandera==1)
{
der=n;
while((A[pos]<A[der])&&(pos!=der))
{
der=der-1;
}
if(pos==der)
{
pos=pos+1;
bandera=1;
}
else
{
aux=A[pos];
A[pos]=A[der];
A[der]=aux;
pos=der;
while((A[pos]>=A[izq])&&(pos!=izq))
izq=izq+1;
if(pos==izq)
bandera=0;
else
{
aux=A[pos];
A[pos]=A[izq];
A[izq]=aux;
pos=izq;
}
}
}
//escribir el arreglo ordenado
printf("\n el arreglo ordenado es de la siguiente forma \n");
for(i=1;i<=n;i++)
printf("\n arreglo[%d]= %d\n",i,A[i]);
getch();
}
#include<stdio.h>
void main()
{
int n,A[10];
int i,izq,der,aux,pos;
int bandera;
printf("\n ORDDENAMIENTO POR QUICK SORT \n");
printf("\n ingrese la dimencion del arreglo a ordenar\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("arreglo[%d]",i);
scanf(" %d",&A[i]);
}
//ordenado por el metodo de la seleccion
izq=1;
pos=1;
bandera=1;
while(bandera==1)
{
der=n;
while((A[pos]<A[der])&&(pos!=der))
{
der=der-1;
}
if(pos==der)
{
pos=pos+1;
bandera=1;
}
else
{
aux=A[pos];
A[pos]=A[der];
A[der]=aux;
pos=der;
while((A[pos]>=A[izq])&&(pos!=izq))
izq=izq+1;
if(pos==izq)
bandera=0;
else
{
aux=A[pos];
A[pos]=A[izq];
A[izq]=aux;
pos=izq;
}
}
}
//escribir el arreglo ordenado
printf("\n el arreglo ordenado es de la siguiente forma \n");
for(i=1;i<=n;i++)
printf("\n arreglo[%d]= %d\n",i,A[i]);
getch();
}
SELECCION SORT
#include<iostream.h>
#include<conio.h>
void main(){
int A[10],n;
cout<<"INgrese la dimension del array "<<endl;
cin>>n;
cout<<endl<<"Ingrese los numeros "<<endl;
for(int i=1;i<=n;i++){
cin>>A[i];
}
// Proceso seleccion
int menor,indice;
for(i=1;i<=n-1;i++){
menor=A[i];
indice=i;
for(int j=i+1;j<=n;j++){
if(menor>A[j]){
menor=A[j];
indice=j;
}
}
A[indice]=A[i];
A[i]=menor;
}
for(i=1;i<=n;i++){
cout<<" "<<A[i];
}
getch();
}
SHELL SORT
#include<conio.h>
void main(){
int A[10],n;
cout<<"INgrese la dimension del array "<<endl;
cin>>n;
cout<<endl<<"Ingrese los numeros "<<endl;
for(int i=1;i<=n;i++){
cin>>A[i];
}
// Proceso seleccion
int menor,indice;
for(i=1;i<=n-1;i++){
menor=A[i];
indice=i;
for(int j=i+1;j<=n;j++){
if(menor>A[j]){
menor=A[j];
indice=j;
}
}
A[indice]=A[i];
A[i]=menor;
}
for(i=1;i<=n;i++){
cout<<" "<<A[i];
}
getch();
}
SHELL SORT
#include"iostream.h"
#include"conio.h"
void main()
{ clrscr();
int aux,i,A[20],n,salto,j;
cout<<"Ingrese la cantidad de elementos :";
cin>>n;
cout<<endl;
cout<<"Ingrese los elementos del vector "<<endl;
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:";cin>>A[i];
}
cout<<endl;
cout<<"ORDENANDO POR SHELL "<<endl;
salto=int(n/2);
while(salto!=0)
{
for(i=1;i<=n;i++)
{ for(j=i+salto;j<=n;j++)
if(A[i]>=A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
salto=int(salto/2);
}
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:"<<A[i]<<endl;
}
getch();
}
#include"conio.h"
void main()
{ clrscr();
int aux,i,A[20],n,salto,j;
cout<<"Ingrese la cantidad de elementos :";
cin>>n;
cout<<endl;
cout<<"Ingrese los elementos del vector "<<endl;
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:";cin>>A[i];
}
cout<<endl;
cout<<"ORDENANDO POR SHELL "<<endl;
salto=int(n/2);
while(salto!=0)
{
for(i=1;i<=n;i++)
{ for(j=i+salto;j<=n;j++)
if(A[i]>=A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
salto=int(salto/2);
}
for(i=1;i<=n;i++)
{
cout<<"A["<<i<<"]:"<<A[i]<<endl;
}
getch();
}
No hay comentarios:
Publicar un comentario