Ordenar un vector en C++

¡¡Hola!!
De las muchas funciones que hay en C++, esta me parece una muy interesante y que, al menos en los ejercicios que voy haciendo, la he tenido que usar con bastante frecuencia.
Se trata de ordenar un vector de acuerdo a los valores que contiene. El ordenarlo de mayor a menor, o a la inversa, solo cambiará el simbolo de comparación, menor o mayor.

En este caso los voy a ordenar de menor a mayor.
¡¡Allá vamos!!.


//Ordena el vector de variables "int" "vector", de tamaño "size", por valor ascendente
void ordenaVector ( int vector[], int size ){
    
//"i" será la variable que recorre las posiciones del "vector", "j" la variable que bajará posiciones desde "i" para poner cada valor en su sitio
    int i, j=0, temp;  //temp será una variable temporal para intercambiar los valores

//"i" comienza en 1, ya que la posición "0" no puede compararse con la anterior, pues no existe posición "-1"  
    for (i=1; i < size; i++){
//"j" parte desde "i" y recorre el vector en sentido descendente
        for (j=i; j > 0; j--){
            if (vector[j] < vector[j-1]){  //si el valor de una posición es menor que el de
                temp = vector[j];          //la anterior, con estos tres pasos
                vector[j] = vector[j-1];   //intercambiamos dichos valores
                vector[j-1] = temp;
            }
            else j=0;
//cuando el valor ya no es menor igualamos "j" a 0 para que el bucle que desciende el vector finalice
        }  //fin del bucle "j". La variable volverá a la posición "i"
    }  //fin del bucle "i". Avanzamos otra posición ascendiendo el vector.
    
}

De esta forma cada valor descenderá posiciones en el vector mientras el valor anterior a él sea mayor, y quedarán en un orden ascendente.
Espero que os sea útil, a mí me lo ha sido, ¡¡y mucho!!
Saludos.

Anuncios
Acerca de

Me llamo Rafa, aunque tras un viaje a Tailandia, en el año 2007, adopté el seudónimo Rafa-Than. Nací en Bilbao, viví mucho años en Castellón, y en la actualidad tengo mi hogar en Catarroja. Estudiante de Ciclo Formativo de Grado Superior de Desarrollo de Aplicaciones Web, mi vida gira entre la programación y desarrollo de webs, mi gran interés por las redes sociales y la comunicación, y las aficiones artísticas que me acompañan toda la vida. Me gusta todo tipo de arte habido y por haber, aunque principalmente me decanto por la música, la literatura y la pintura. La música, que acompaña mi camino desde muy pequeño, es también mi profesión hace varios años.

Tagged with: , , , , , ,
Publicado en Programación

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Follow BIT-75 por Rafa-Than on WordPress.com

Introduce tu dirección de correo electrónico para seguir este Blog y recibir las notificaciones de las nuevas publicaciones en tu buzón de correo electrónico.

Sígueme en Twitter
Últimas entradas: Rafa-Than

Día de carrera.

Llega el momento, la hora de la verdad. Hoy es la carrera para la que me he estado preparando, física y, sobre todo, mentalmente. Sé que puedo hacerlo, y además bien. Esos pequeños demonios que te susurran cosas desagradables al oído los tengo ya más que enterrados en un aura de pensamiento positivo que intento […]

menos 1

¡¡Mañana es el día!! En menos de 24 horas ya habré cruzado la línea de meta en el Parque Ribalta de Castellón de la Plana, y atrás quedará mi primer desafío de 10 Km. Algo me dice, que se me va a hacer corto. El objetivo, aparte de seguir aprendiendo cosas en esta nueva aventura, […]

A %d blogueros les gusta esto: