La ordenación de datos(sort) es una operación consistente en disponer un conjunto-estructura- de datos en algún determinado orden con respecto a uno de los campos de elementos del conjunto.Una colección de datos(estructura) puede ser almacenada en un archivo, un array (vector o matriz), un array de registros,una lista o un árbol.Cuando los datos están almacenados en un array ,lista o un árbol, se denomina ordenación interna,por el contrario si están almacenados en un archivo,el proceso de ordenación se llama ordenación externa.
Este tema es indispensable a la hora de trabajar con estructura de datos,por eso que en el curso que llevo (Estructura de Datos) nos dejaron como tarea implementar estos algoritmos en C++,la verdad como siempre a ultima hora…pero bueno espero les sirva de algo(en algunas impresiones se repetira el arreglo al inicio pero luego poco a poco se muestran los cambios).
Para mejor comprensión un VideoMIT donde hablan un poco sobre estos métodos.
Algoritmos Implementados:
#include#include #include HANDLE hCon; using namespace std; void SetColor(int i); void LeerArray(int num,float x[]); void MostrarArray(int num,float x[]); void MostrarColor(int num,float x[]); void MostrarBubleSort(int num,float x[]); void MostrarSeleccionSort(int num,float x[]); void MostrarInsercionSort(int num,float x[]); void MostrarShellSort(int num,float x[]); void MostrarQuickSort(int ,int,float x[],int); void MostrarMergeSort(float x[],int,int,int); void merge(float x[], int ini, int m, int fin,int num); int menu(); int main() { int op,num; float x[50]; do { op=menu(); switch(op) { case 1: { SetColor(10); cout<<"\n\t\t\t [ INGRESO DE ARREGLO ]"< >num;cout< >num;cout< >num;cout< >num;cout< >num;cout< >num;cout< >null"); return 0; } void MostrarBubleSort(int num,float x[]) { float temp; int z=0; for(int i=1;i =i;j--) { cout<<"\t";MostrarColor(num,x); if(x[j-1]>x[j]) { temp = x[j-1]; x[j-1]= x[j]; x[j] = temp; } z++; } } } void MostrarSeleccionSort(int num,float x[]) { float temp; for(int i=0;i =0 && temp 0;salto=salto/2) do { band=0; cout<<"\t";MostrarColor(num,x); for(int i=0;i x[i+salto]) { temp = x[i]; x[i] = x[i+salto]; x[i+salto] = temp; band=1; } } }while(band); } void MostrarQuickSort(int ini,int fin,float x[],int num) { int i=ini; int j=fin; float central=x[(ini+fin)/2]; float temp; do { cout<<"\t";MostrarColor(num,x); while(central>x[i])i++; while(central i)MostrarQuickSort(i,fin,x,num); } void MostrarMergeSort(float x[], int ini, int fin,int num) { if(ini!=fin) { int m = (ini+fin)/2; MostrarMergeSort(x, ini, m,num); MostrarMergeSort(x, m+1,fin,num); merge(x, ini, m, fin,num); } } void merge(float x[], int ini, int m, int fin,int num) { int *aux = new int[m-ini+1]; for(int j=ini; j<=m; j++) aux[j-ini] = x[j]; int c1=0, c2=m+1; for(int j=ini; j<=fin; j++) { cout<<"\t";MostrarColor(num,x); if(aux[c1] < x[c2]) { x[j] = aux[c1++]; if(c1==m-ini+1) for(int k=c2; k<=fin; k++) x[++j] = x[k]; } else { x[j] = x[c2++]; if(c2==fin+1) for(int k=c1; k<=m-ini; k++) x[++j] = aux[k]; } } } int menu() { int op; do { system("cls"); SetColor(15); cout<<"\t ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» "< Ingrese opcion :";SetColor(15);cin>>op; }while(op<1 data-blogger-escaped-op="">6); return op; } void LeerArray(int num,float x[]) { for(int i=0;i >x[i]; } } void MostrarArray(int num,float x[]) { int c=num; for(int i=0;i 0) { SetColor(14);cout<<" , "; } } } void MostrarColor(int num,float x[]) { int c=num; for(int i=0;i 0) { SetColor(14);cout<<" , "; } } cout<<endl<<endl; } void SetColor(int i) { if(hCon == NULL) hCon = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hCon, i); }
merit casino【WG98.VIP】 - Xn Table Games
ResponderEliminarXn 제왕 카지노 Table Games. 인카지노 It is a 메리트 카지노 고객센터 gambling casino and it is a gambling site.