Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include <iostream>
const int MAX=50;
void burbuja(int x[MAX], int n);
void leerarray (int x[MAX], int n);
void escribearray (int x[MAX], int n);
using namespace std;
int main()
{
int n, a[MAX];
cout <<" Cuantos enteros a ordenar en el array? "<< endl;
cin>>n;
leerarray(a,n);
burbuja(a,n);
cout<<"\n El array ordenado es: ";
escribearray(a,n);
return 0;
}
void burbuja(int x[MAX], int n)
{
int aux, i, j;
if (x[j]>x[j+1])
{ aux=x[j];
x[j]=x[j+1];
x[j+1]=aux;
}
}
}
void leerarray(int x[], int n)
{
cout<<" Ingrese"<<n<<" datos en el array: "<<endl;
for (int i=0; i<n;i++)
{
cout<<"x["<<i<<"]=";
cin>>x[i];
}
}
void escribearray(int x[], int n)
{
for (int i=0; i<n; i++)
cout<<x[i]<<" ";
cout<<endl;
}
Ejemplo 3:
}
}
}
void leerarray(int x[], int n)
{
cout<<" Ingrese"<<n<<" datos en el array: "<<endl;
for (int i=0; i<n;i++)
{
cout<<"x["<<i<<"]=";
cin>>x[i];
}
}
void escribearray(int x[], int n)
{
for (int i=0; i<n; i++)
cout<<x[i]<<" ";
cout<<endl;
}
2. mtodo de ordenacin por seleccin:
Ejemplo 4:
a[i]=menor;
}
}
void leerarray(int a[], int n)
{
cout<<" Ingrese"<<n<<" datos en el array: "<<endl;
for (int i=0; i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}
void escribearray(int a[], int n)
{
for (int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}
Ejemplo 5:
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}
void escribearray(int a[], int n)
{
for (int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}
4. Mtodo de shell
Ejemplo 6:
leerarray(x,n);
shellshort(x,n);
cout<<"\n El array ordenado es: ";
escribearray(x,n);
return 0;
}
void shellshort(int a[], int n)
{
int i, salto, aux;
salto=n+1;
bool flag;
while (salto>0)
{ salto=salto/2;
flag=true;
while (flag==true)
{ flag =false;
i=0;
while((i+salto)<n)
{ if(a[i]>a[i]+salto)
{ //intercambiar
aux=a[i];
a[i]=a[i+salto];
a[i+salto]=aux;
flag=true;
}
i=i+1;
}
}
}
}
void leerarray(int a[], int n)
{
cout<<" Ingrese"<<n<<" datos en el array: "<<endl;
for (int i=0; i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}
void escribearray(int a[], int n)
{
for (int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}
Mtodo Quisksort
Ejemplo 7:
//ordenacion por el algoritmo de quicksort
#include <iostream>
const int MAX=20;
void quicksort( int left,int right, int a[]);
void leerarray (int a[], int n);
void escribearray (int a[], int n);
using namespace std;
int main()
{
int n, x[MAX];
cout <<" Cuantos enteros a ordenar en el array? "<< endl;
cin>>n;
leerarray(x,n);
int left=0;
int right=n-1;
quicksort(left, right, x);
cout<<"\n El array ordenado es: ";
escribearray(x,n);
return 0;
}
void quicksort (int a[], int n)
{
int aux, x;
int i,j;
i=left;
j=right;
x=(a[left]+a[right])/2;
do{
while (a[i]<x)
i=i+1;
while (x<a[j])
j=j-1;
if(i<j)//intercambiar
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
i++;
j--;
}
else
if(i==j)
i++;
}while(i<=j);
if (left<j)
quicksort(left, j, a);
if (right >i)
quicksort (i, right,a);
}
void leerarray(int a[], int n)
{
cout<<" Ingrese"<<n<<" datos en el array: "<<endl;
for (int i=0; i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
}
void escribearray(int a[], int n)
{
for (int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl;
}