Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- //#include "libordenamiento.a"
- using namespace std;
- template <typename T>
- void ordenar(T[],int);
- template <typename T>
- void quicksort(T[],int,int);
- int main(int argc, char** argv) {
- int A[] = {0,1,2,3,4,5,6,7,8,9,10};
- double B[] = {0.1,0.2,0.3,0.4};
- int numDat = 11;
- //ordenar(B,numDat);
- quicksort(A,0,numDat-1);
- for (int i=0; i<numDat; i++){
- cout << A[i] << " ";
- }
- cout << endl;
- return 0;
- }
- #include "ordenamiento.h" //Ordenamiento.Cpp //Otra Libreria
- #include <iostream>
- template <typename T>
- void ordenar(T elem[], int numDat){
- //quicksort(elem, 0, numDat-1);
- firstsort(elem,numDat);
- }
- template <typename T>
- void quicksort(T elem[], int izq, int der){
- int limite;
- if(izq>=der) return;
- cambiar(elem, izq, (izq+der)/2);
- limite=izq;
- for(int i=izq+1; i<=der; i++){
- if(elem[i] > elem[izq])
- cambiar(elem,++limite,i);
- }
- cambiar(elem,izq,limite);
- quicksort(elem,izq,limite-1);
- quicksort(elem,limite+1,der);
- }
- template <typename T>
- void firstsort(T elem[], int numDat){
- for(int i=0; i<numDat-1; i++)
- for(int j=i+1; j<numDat; j++){
- if (elem[j]>elem[i]){
- cambiar(elem,i,j);
- }
- }
- }
- template <typename T>
- void cambiar(T elem[], int i, int j){
- T auxiliar;
- auxiliar = elem[i];
- elem[i] = elem[j];
- elem[j] = auxiliar;
- }
- #ifndef ORDENAMIENTO_H //Ordenamiento.h
- #define ORDENAMIENTO_H
- template <typename T>
- void ordenar(T[], int);
- template void ordenar(int[], int);
- template void ordenar(double[], int);
- template void ordenar(char[], int);
- template <typename T>
- void firstsort(T[], int);
- template void firstsort(int[], int);
- template void firstsort(double[], int);
- template void firstsort(char[], int);
- template <typename T>
- void cambiar(T[], int, int);
- template void cambiar(int[],int,int);
- template void cambiar(double[],int,int);
- template void cambiar(char[],int,int);
- template <typename T>
- void quicksort(T[], int, int);
- template void quicksort(int[],int,int);
- template void quicksort(double[],int,int);
- template void quicksort(char[],int,int);
- #endif /* ORDENAMIENTO_H */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement