Selection sort: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
adicao do codigo em c recursivo
Cyberini (discussão | contribs)
Desfeita a edição 55632933 de 170.254.134.153 Remoção de conteúdo redundante/desnecessário (já consta um link para as diversas implementações nas #Ligações externas), além de sem fontes (pesquisa original?)
Etiqueta: Desfazer
Linha 63:
 
== Exemplos de códigos ==
Implementação em [[C (linguagem de programação)]]:<syntaxhighlight lang="c" line="1">
void selection_sort(int num[], int tam) {
int i, j, min, aux;
Linha 80:
}
}
</syntaxhighlight>Implementação em [[C (linguagem de programação)|C++]] , comcolocando [[Recursividadeos (ciênciamenores dano computação)|recursividade]].início:<syntaxhighlight lang="c" line="1++">
#include<stdio.h>
#include<stdlib.h>
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
void selectionSort(int arr[], int i, int n){
int min = i;
for (int j=i+1; j<n; j++){
if (arr[j]<arr[min])
min = j;
}
swap(&arr[min], &arr[i]);
if (i + 1 < n) {
selectionSort(arr, i + 1, n);
}
}
int main(){
int tam,i,*v;
scanf("%d",&tam);
v=(int*)malloc(tam*sizeof(int));
for(i=0;i<tam;i++)scanf("%d",&v[i]);
selectionSort(v,0,tam);
for(i=0;i<tam;i++)printf("%d ",v[i]);
return 0;
}
</syntaxhighlight>
 
 
Implementação em [[C++]], colocando os menores no início:<syntaxhighlight lang="c++" line="1">
void SelectionSort(int vetor[], int tam) {
for (int indice = 0; indice < tam; ++indice) {