Está en la página 1de 4

PRACTICA #30

Nombre: Gunsha Gusqui Cristian Daniel


Fecha:03/02/2022
Asignatura: Programación 1 Paralelo: “A”
Realizar un documento en Word en donde se explique con sus palabras tres métodos de
ordenamiento de vectores: Selección, Burbuja y uno adicional a su elección, para cada
método se incluirá en el documento el código en C++ de cada método descrito.
Método Selección
Consiste en encontrar el menor de todos los elementos del vector e intercambiarlo con el que
está en la primera posición. Luego el segundo más pequeño, y así sucesivamente hasta
ordenarlo todo.
Ejemplo:

//Ordenamiento por Selección


#include<iostream>
using namespace std;
int main() {
int n[] = { 3,9,5,6,1 };
int i, j, aux, min;
char ops;
do {
//Algoritmo del Ordenamiento por Selección
for (i = 0; i < 5; i++) {
min = i;
for (j = i + 1; j < 5; j++) {
if (n[j] < n[min]) {
min = j;
}
}
aux = n[i];
n[i] = n[min];
n[min] = aux;
}
cout <<endl<< "Orden Ascendente: ";
for (i = 0; i < 5; i++) {
cout << n[i] << " ";
}
cout <<endl<< "Orden Descendente: ";
for (i = 4; i >= 0; i--) {
cout << n[i] << " ";
}
cout << endl << "Pulse cualquier tecla para continuar o n para
finalizar...";
cin >> ops;
} while (tolower(ops) != 'n');
}

Método de Intercambio o de Burbuja

Se basa en comparar pares de elementos e intercambiarlos entre si hasta que estén todos
ordenados.
Ejemplo:
//orden ascendente el vector : 3, 6, 4, 53, 15, 20
#include <iostream>
using namespace std;
int main(){
int v[] = { 3, 6, 4, 53, 15, 20};
int i=0, j,aux;
char ops;
do{
for (j = 0; j < 5 - i; j++) {
if (v[j] > v[j + 1]) {
// Intercambiar los elementos
if (v[j] > v[j + 1]) {
aux = v[j];
v[j] = v[j + 1];
v[j + 1] = aux;
}
}
}
//Datos ordenados ascendente
for (int n = 0; n < 6; n++) {
cout <<v[n] << "\t";
}
cout << endl << "Pulse cualquier tecla para continuar o n para finalizar...";
cin >> ops;
} while (tolower(ops) != 'n');
}
Método Inseercion
Consiste en el recorrido por la lista seleccionada y compararlo con el resto insertándolo en el
lugar correspondiente.

Ejemplo:

//orden el vector: 3,4,1,5,2

#include<iostream>

using namespace std;

int main() {

int A[5] = { 3,4,1,5,2 };

int i, j, aux;

char ops;

do{

//Método de Ordenamiento

for (i = 0; i < 5; i++) {

j = i;

aux = A[i];

while ((j > 0) && (aux < A[j - 1])) {

A[j] = A[j - 1];

j--;
}

A[j] = aux;

//Impresión de Números Ordenados de Manera Ascendente

cout<<endl<<"Los números ordenados de manera ascendente: ";

for (i = 0; i < 5; i++) {

cout<<A[i]<<"\t";

//Impresión de Números Ordenados de Manera Descendente

cout<<endl<<"Los números ordenados de manera descendente: ";

for (i = 4; i >= 0; i--) {

cout << A[i] << "\t";

cout << endl << "Pulse cualquier tecla para continuar o n para finalizar...";

cin >> ops;

} while (tolower(ops) != 'n');

También podría gustarte