Está en la página 1de 7

//Autor: Maya Huerta Cristian Yahir

//Fecha Creación: //2021 \

//Descricion:

//librerias

#include<conio.h>

#include<stdio.h>

#include<iostream>

#include<stdlib.h>

#include<math.h>

using namespace std;

//Prototipos de funciones.

void mostrarLista(int *);

void qs(int lista[],int limite_izq,int limite_der);

int main(){

int seleccion;

int numeros;

int aux;

do{

cout << "---------------------------------------------------" << endl;

cout << "- Seleccione el Metodo de ordenamiento que guste -" << endl;

cout << "- 1. Metodo burbuja -" << endl;

cout << "- 2. Metodo de insercion -" << endl;

cout << "- 3. Metodo de ordenamiento por seleccion -" << endl;
cout << "- 4. Metodo de insercion -" << endl;

cout << "- 5. Salir -" << endl;

cout << "---------------------------------------------------" << endl;

cin >> seleccion;

switch (seleccion){

case 1:

cout << "\nMetodo burbuja" << endl;

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

int aux;

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

for (int j=0;j<5; j++){

if(numeros[j]>numeros[j+1]){

aux = numeros[j];

numeros[j] = numeros[j+1];

numeros[j+1] = aux;

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

cout << numeros[i] << " " ;

}
break;

case 2:

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

int i,pos, aux;

//Pos = posicion

//Recorrer el arreglo

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

pos = i;

aux = arreglo[i];

//Comparar el valor selecionado con todos los valores anteriores

while ((pos >= 0) && (arreglo[pos-1] > aux)){

//Insertar el valor donde corresponda

arreglo[pos] = arreglo[pos-1];

pos--;

arreglo[pos] = aux;

mostrarLista(arreglo);

mostrarLista(arreglo);

break;

case 3:

cout << "\nMetodo de ordenamiento por seleccion" << endl;

system("color 0a");

int i;

for(i+=1;i<=100;i++)

if(i%10==0){
cout<<" ";

cout<<i<<"\n";

else{

cout<<" ";

cout<<i," \n ";

break;

case 4:

int izq,der,temporal,pivote;

izq=limite_izq;

der = limite_der;

pivote = lista[(izq+der)/2];

do{

while(lista[izq]<pivote && izq<limite_der)izq++;

while(pivote<lista[der] && der > limite_izq)der--;

if(izq <=der)

temporal= lista[izq];

lista[izq]=lista[der];

lista[der]=temporal;

izq++;

der--;
}

}while(izq<=der);

if(limite_izq<der){qs(lista,limite_izq,der);}

if(limite_der>izq){qs(lista,izq,limite_der);}

void quicksort(int lista[],int n)

qs(lista,0,n-1);

int main(int argc, const char * argv[])

int lista[] ={100,56,0,1,-45,2,46,5,9,6,67,23,5,30,};

int size = sizeof(lista)/sizeof(int);

printf("Lista Desordenada \n");

for (int i=0; i<size; i++) {

printf("%d",lista[i]);
if(i<size-1)

printf(",");

printf("\n");

quicksort(lista,size);

printf("Lista Ordenada \n");

for (int i=0; i<size; i++) {

printf("%d",lista[i]);

if(i<size-1)

printf(",");

case 5:

cout << "Hasta Luego :D" << endl;

break;

default:

cout << "Opcion no valida" << endl;

}
}while (opcion != 5);

return 0;

//Declaracion de funcione.

void mostrarLista(int *lista){ //Función para mostrar estado de la lista

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

cout << " " << lista[i] << endl;

cout << "\n";

También podría gustarte