INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO 
INFORME TECNICO 
Ing. Sistemas computacionales 
Docente : Niels Henryk ...
Burbujas 
#include <iostream> 
using namespace std; 
//Metodo Burbuja 
int main() 
{ 
int s,temp,i,j; 
int a[20]; 
cout<<"...
} 
} 
cout<<"Despues del ordenamiento: "; 
for(i=0;i<s;i++) 
cout<<a[i]; 
return 0;s 
} 
El método de ordenamiento burbuja...
cout<<endl<<"The list you input is : "<<endl; 
PrintArray(array, ARRAY_SIZE); 
QuickSort(array,0,ARRAY_SIZE - 1); 
cout<<e...
QuickSort(array, splitPoint+1, endIndex); 
} 
} 
int SplitArray(int* array, int pivot, int startIndex, int endIndex) 
{ 
i...
cualquiera del arreglo. Se trata de ubicar a x en la posición correcta del arreglo, de tal 
forma que todos los elementos ...
Próxima SlideShare
Cargando en…5
×

Unidad 5 informe técnico

149 visualizaciones

Publicado el

informe técnico

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
149
En SlideShare
0
De insertados
0
Número de insertados
5
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad 5 informe técnico

  1. 1. INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO INFORME TECNICO Ing. Sistemas computacionales Docente : Niels Henryk Aranda Cuevas Alumna: Rene Jesus Sosa Arana Gr upo: 3er “A” Unidad 5 Métodos de ordenamiento
  2. 2. Burbujas #include <iostream> using namespace std; //Metodo Burbuja int main() { int s,temp,i,j; int a[20]; cout<<"Ingrese la cantidad de numeros a ordenar: "; cin>>s; cout<<"Ingrese "<<s<<" elementos "; for(i=0;i<s;i++) cin>>a[i]; for(i=s-2;i>=0;i--) { for(j=0;j<=i;j++) { if(a[i]>a[j+1]) { temp=a[j]; j=indice a[j]=a[j+1]; a[j+1]=temp; }
  3. 3. } } cout<<"Despues del ordenamiento: "; for(i=0;i<s;i++) cout<<a[i]; return 0;s } El método de ordenamiento burbuja su función es ordenar los valores asignados de menor a mayor Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar. Quicksort #include <iostream> using namespace std; #define ARRAY_SIZE 5 void PrintArray(int* array, int n); void QuickSort(int* array, int startIndex, int endIndex); int SplitArray(int* array, int pivotValue, int startIndex, int endIndex); void swap(int &a, int &b); int main(void) { int array[ARRAY_SIZE]; int i; for( i = 0; i < ARRAY_SIZE; i++) { cout<<"Enter an integer : "; cin>>array[i]; }
  4. 4. cout<<endl<<"The list you input is : "<<endl; PrintArray(array, ARRAY_SIZE); QuickSort(array,0,ARRAY_SIZE - 1); cout<<endl<<"The list has been sorted, now it is : "<<endl; PrintArray(array, ARRAY_SIZE); cin.get(); cin.get(); return 0; } void swap(int &a, int &b) { int temp; temp = a; a = b; b = temp; } void PrintArray(int* array, int n) { int i; for( i = 0; i < n; i++) cout<<array[i]<<'t'; } void QuickSort(int* array, int startIndex, int endIndex) { int pivot = array[startIndex]; int splitPoint; if(endIndex > startIndex) { splitPoint = SplitArray(array, pivot, startIndex, endIndex); array[splitPoint] = pivot; QuickSort(array, startIndex, splitPoint-1);
  5. 5. QuickSort(array, splitPoint+1, endIndex); } } int SplitArray(int* array, int pivot, int startIndex, int endIndex) { int leftBoundary = startIndex; int rightBoundary = endIndex; while(leftBoundary < rightBoundary) { while( pivot < array[rightBoundary] && rightBoundary > leftBoundary) { rightBoundary--; } swap(array[leftBoundary], array[rightBoundary]); while( pivot >= array[leftBoundary] && leftBoundary < rightBoundary) { leftBoundary++; } swap(array[rightBoundary], array[leftBoundary]); return leftBoundary; } Quicksort es uno de los algoritmos por excelencia utilizados para ordenar secuencias de datos Este método es una mejora sustancial del método de intercambio directo y recibe el nombre de Quick Sort por la velocidad con que ordena los elementos del arreglo. La idea central de este algoritmo consiste en los siguiente: Se toma un elemento x de una posición
  6. 6. cualquiera del arreglo. Se trata de ubicar a x en la posición correcta del arreglo, de tal forma que todos los elementos que se encuentran a su izquierda sean menores o iguales a x y todos los elementos que se encuentren a su derecha sean mayores o iguales a x. Se repiten los pasos anteriores pero ahora para los conjuntos de datos que se encuentran a la izquierda y a la derecha de la posición correcta de x en el arreglo.

×