Você está na página 1de 6

#include <cstdlib> #include <iostream> using namespace std; // Cambiar la variable Tamano para ordenar una // cantidad diferente

de datos

/*Prototipo de funcion Imprime */ void Imprime( int A[]); /*prototipo de funcion Recibe */ void Recibe ( int B[]); /*Prototipo de funcion Burbuja */ void Burbuja( int C[]);

int main() { // Abre main

int Arreglo[10]={0, 0}; // El Arreglo se ha inicializado a 0 cout <<"\nEste programa recibe una serie de 10 numeros enteros :"<<endl; cout <<" y los ordena por medio del algoritmo de ordenacion burbuja. "<< endl; /*Se llena el arreglo mediante un llamado a la funcion Recibe*/ Recibe(Arreglo); /*Se imprime el arreglo con las entradas en el orden original */ cout <<"\nEsta es el orden en que se introdujeron los elementos: " <<endl; Imprime(Arreglo); /*Se ordena el arreglo mediante una llamada a la funcion Burbuja*/ Burbuja(Arreglo); /*Se imprime el arreglo ordenado */ cout <<"\nEste es el orden despues de el ordenamiento burbuja. " <<endl; Imprime(Arreglo);

system("PAUSE"); return EXIT_SUCCESS; } // Cierra main

////////////////////////////////////////////////// //FUNCION IMPRIME /////////////////////////////////////////////////

void Imprime( int A[] ) { // Abre la funcion Imprime for ( int j = 0; j <10;j++ ) { // Abre for cout << "\n" << A[j]; } // Cierra for

cout <<endl <<endl; } // Cierra la funcion Imprime //////////////////////////////////////////////////////////////////////////// //FUNCION RECIBE //////////////////////////////////////////////////////////////////////////

void Recibe( int B[] ) { // Abre funcion Recibe for ( int i = 0; i <10;i++ ) { // Abre for cout << "\nIntroduzca el elemento " << i + 1 << " del arreglo: " << endl; cin >> B[i]; } } // Cierra funcion Recibe

/////////////////////////////////////////////// //FUNCION BURBUJA /////////////////////////////////////////////////

void Burbuja( int C[]) { // Abre funcion Burbuja int temporal; for ( int m = 0; m <9; m++ ) for ( int n = 0; n <=9; n++ ) { // Abre for if ( C[n] > C[n + 1] ) { // Abre if temporal = C[n]; C[n] = C[n + 1]; C[n + 1] = temporal; } // Cierra if } //Cierra for

} quicksort #include <iostream> #include <time.h> #include <stdio.h> using namespace std; //funcion para dividir el array y hacer los intercambios int dividir (int *array, int inicio, int fin){ int izq; int der; int pibote; int temp; pibote = array[inicio]; izq = inicio; der = fin; //Mientras no se cruzen los ndices while (izq < der){ while (array[der] > pibote){ der--; } while ((izq < der) && (array[izq] <= pibote)){ izq++; } // Si todavia no se cruzan los indices seguimos intercambiando if(izq < der){ temp= array[izq]; array[izq] = array[der]; array[der] = temp; } } //Los indices ya se han cruzado, ponemos el pivote en el lugar que le corresponde temp = array[der]; array[der] = array[inicio]; array[inicio] = temp; //La nueva posicin del pivote return der; } //funcion recursiva para hacer el ordenamiento void quicksort( int *array, int inicio, int fin) { int pivote; if(inicio < fin){ pivote = dividir(array, inicio, fin ); quicksort( array, inicio, pivote - 1 );//ordeno la lista de los menores quicksort( array, pivote + 1, fin );//ordeno la lista de los mayores

} } int main() { int const max = 100; int tamanyo; clock_t ini, final; double total; ini=clock(); cout << "Ingresa tamano " << endl; cin >> tamanyo; int a[tamanyo]; srand(time(0));//para que el rand no genere siempre los mismos numeros, utilizando la hora del sistema for ( int i = 0; i<tamanyo ;i++ ) { // Abre for cout << "\nIntroduzca el elemento " << i + 1 << " del arreglo: " << endl; cin >> a[i];

} cout << "Array antes de ordenarse: " << endl; for (int i=0; i < tamanyo; i++){ cout << a[i] << " "; } cout << endl << endl; quicksort(a, 0, tamanyo - 1 ); final=clock(); total=((double)(final - ini)) / CLOCKS_PER_SEC; printf("Tiempo de ejecucion : %lf segundos \n",total); cout << "Array ordenado " << endl; for (int i=0; i < tamanyo; i++ ){ cout << a[i] << "-"; } cout << endl << endl; system("PAUSE"); return EXIT_SUCCESS; } shell #include <cstdlib>

#include <iostream> #include <stdio.h> #include <conio.h>

using namespace std;

int main() { int n; int a[20]; int i,j,k,auxi; int salto;

cout<<"por favor ingrese el tamao de la lista"<<endl; cin>>n; salto=int((n)/2); for(i=0;i<n;i++) { cout<<"Digite el numero"<<i+1<<"= "; cin>>a[i]; } while(salto>0) { for(i=salto;i<n;i++) {j=i-salto; while(j>=0) {k=j+salto; if(a[j]<=a[k])

j=-1; else {auxi=a[j]; a[j]=a[k]; a[k]=auxi; j=j-salto; } } } salto=int(salto/2); } cout<<"la lista ordenada es: \t"; for(i=0;i<n;i++) { cout<<a[i]<<"\t"; } getch(); system("PAUSE"); return EXIT_SUCCESS; }

Você também pode gostar