Algoritmo em C que preenche um vetor de 6 posições e ordena de forma crescente e decrescente pela função Selection Sort, utilizando ponteiros para implementação do algoritmo.
#include <stdio.h>
void selection_sort_decrescente(int * num, int tam) {
int i, j, swap, min;
for (i = 0; i < (tam-1); i++){
min = i;
for (j = (i+1); j < tam; j++) {
if(*(num+j) > *(num+min)){
min = j;
}
}
if (i != min) {
swap = *(num + i);
*(num + i ) = *(num + min);
*(num + min ) = swap;
}
}
}
void selection_sort_crescente(int * num, int tam) {
int i, j, swap, min;
for (i = 0; i < (tam-1); i++){
min = i;
for (j = (i+1); j < tam; j++) {
if(*(num+j) < *(num+min)){
min = j;
}
}
if (i != min) {
swap = *(num + i);
*(num + i ) = *(num + min);
*(num + min ) = swap;
}
}
}
int main() {
int x[6], n=6, i;
for (i=0; i<n; i++) {
printf("\ninforme um numero: ");
scanf("%d",&x[i]);
}
printf("\nVetor original\n");
for (i=0; i<n; i++)
printf("\t%d", x[i]);
selection_sort_decrescente(x, n);
printf("\n\nVetor ordenado Decrescente\n");
for (i=0; i<n; i++)
printf("\t%d", x[i]);
printf("\n");
selection_sort_crescente(x, n);
printf("\n\nVetor ordenado Crescente\n");
for (i=0; i<n; i++)
printf("\t%d", x[i]);
printf("\n");
return 0;
}
Trabalhos.:
E-mail: mvf5system@gmail.com
Blog: http://mvf5-system.blogspot.com.br/
Facebook: https://www.facebook.com/mvf5systems
0 comentários:
Postar um comentário