Como Ordenar usando Selection Sort em C?

Como Ordenar usando Selection Sort em C?

·

1 min read

Para o seguinte exemplo, já é bom ter visto conteúdos tais como gerar números aleatórios, vetores e funções.

A partir desse exemplo, descobri que na programação - existem os pseudoaleatórios pelo fato de serem gerados a partir da data no computador e então envolve mais algumas coisas de semente enfim... por isso decidi focar na parte da ordenação que construída como função pode ser facilmente manipulada para outros problemas mas basicamente peguei nesse site como referência:

https://wagnergaspar.com/como-gerar-numeros-aleatorios-com-a-funcao-rand-dentro-de-um-intervalo-especifico/

Escreva um programa que gere 15 números aleatórios e os insira de forma ordenada em um vetor.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void ordena(int troca[], int n) {
    int i, j, indice, ordenado;
    for (i = 0; i < n - 1; i++) {
        indice = i;
        for (j = i + 1; j < n; j++) {
            if (troca[j] < troca[indice]) {
                indice = j;
            }
        }
        ordenado = troca[i];
        troca[i] = troca[indice];
        troca[indice] = ordenado;
    }
}

int main() {
    int i;
    int num2[15];

    srand(time(NULL));

    for (i = 0; i < 15; i++)
        num2[i] = 1 + rand() % 1000;

    printf("\n\nAntes: \n");
    for (i = 0; i < 15; i++)
        printf("%d ", num2[i]);
    printf("\n\n");

    ordena(num2, 15);

    printf("Depois: \n");
    for (i = 0; i < 15; i++)
        printf("%d ", num2[i]);
    printf("\n\n");

    return 0;
}