You are on page 1of 8

//Ordenamiento Shell

02 //Codificado por sAfOrAs

03 #include<iostream>

04 #include"leearreglo.h"

05 using namespace std;

06 #define largo 50

07 void ordenShell(int A[],int n)

08 {

09  

10   int i, j, inc, temp;

11  

12   for(inc = 1 ; inc<n;inc=inc*3+1);

13  

14       while (inc > 0)

15       {

16           for (i=inc; i < n; i++)

17           {

18                 j = i;

19                 temp = A[i];

20                 while ((j >= inc) && (A[j-inc] > temp))

21                 {

22                     A[j] = A[j - inc];

23                     j = j - inc;

24                 }

25  

26                 A[j] = temp;

27           }
28  

29           inc/= 2;

30       }

31 }

32  

33 void main ()

34 {

35     int A[largo],n;

36     do{

37     cout<<"Cantidad de numeros a ingresar: ";cin>>n;

38         if(n<=0||n>largo)

39             cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;

40     }while(n<=0||n>largo);

41  

42     leeCadena(n,A);

43     ordenShell(A,n);

44     muestraCadena(n,A);

45  

46 }

ver fuente

imprimir?

01 #include<iostream>

02 using namespace std;

03 void leeCadena(int cant,int n[])

04 {

05     int i;

06     for(i=0;i<cant;i++)
07     {

08         cout<<"Ingresa numero "<<i+1<<": ";

09         cin>>n[i];

10     }

11  

12 }

13  

14 void muestraCadena(int cant,int n[])

15 {

16     int i;

17     for(i=0;i<cant;i++)

18     {

19         cout<<n[i]<<endl;

20     }

21 }

Quick sort

//Quick Sort

02 //Codificado por sAfOrAs

03 #include <iostream>

04 #define largo 100

05 #include"leearreglo.h"

06 using namespace std;

07 void quicksort(int A[],int izq, int der )

08 {

09 int i, j, x , aux;
10 i = izq;

11 j = der;

12 x = A[ (izq + der) /2 ];

13     do{

14         while( (A[i] < x) && (j <= der) )

15         {

16             i++;

17         }

18  

19         while( (x < A[j]) && (j > izq) )

20         {

21             j--;

22         }

23  

24         if( i <= j )

25         {

26             aux = A[i]; A[i] = A[j]; A[j] = aux;

27             i++;  j--;

28         }

29  

30     }while( i <= j );

31  

32     if( izq < j )

33         quicksort( A, izq, j );

34     if( i < der )

35         quicksort( A, i, der );

36 }
37  

38 void main ()

39 {

40     int A[largo],n;

41     do{

42     cout<<"Cantidad de numeros a ingresar: ";cin>>n;

43         if(n<=0||n>largo)

44             cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;

45     }while(n<=0||n>largo);

46     leeCadena(n,A);

47     quicksort(A,0,n-1);

48     muestraCadena(n,A);

49  

50 }

ver fuente

imprimir?

01 #include<iostream>

02 using namespace std;

03 void leeCadena(int cant,int n[])

04 {

05     int i;

06     for(i=0;i<cant;i++)

07     {

08         cout<<"Ingresa numero "<<i+1<<": ";

09         cin>>n[i];

10     }

11  
12 }

13  

14 void muestraCadena(int cant,int n[])

15 {

16     int i;

17     for(i=0;i<cant;i++)

18     {

19         cout<<n[i]<<endl;

20     }

21 }

Inserción Directa

01 //Inserción Directa

02 //Codificado por sAfOrAs

03 #include<iostream>

04 #include"leearreglo.h"

05 using namespace std;

06 #define largo 50

07 void insercionDirecta(int A[],int n)

08 {

09  

10       int i,j,v;

11  

12       for (i = 1; i < n; i++)

13         {

14              v = A[i];
15              j = i - 1;

16              while (j >= 0 && A[j] > v)

17              {

18                   A[j + 1] = A[j];

19                   j--;

20              }

21  

22              A[j + 1] = v;

23       }

24 }

25  

26 void main ()

27 {

28     int A[largo],n;

29     do{

30     cout<<"Cantidad de numeros a ingresar: ";cin>>n;

31         if(n<=0||n>largo)

32             cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;

33     }while(n<=0||n>largo);

34  

35     leeCadena(n,A);

36     insercionDirecta(A,n);

37     muestraCadena(n,A);

38  

39 }

ver fuente

imprimir?
01 #include<iostream>

02 using namespace std;

03 void leeCadena(int cant,int n[])

04 {

05     int i;

06     for(i=0;i<cant;i++)

07     {

08         cout<<"Ingresa numero "<<i+1<<": ";

09         cin>>n[i];

10     }

11  

12 }

13  

14 void muestraCadena(int cant,int n[])

15 {

16     int i;

17     for(i=0;i<cant;i++)

18     {

19         cout<<n[i]<<endl;

20     }

21 }

You might also like