Buscar

ordenacao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include<stdio.h>
#include<stdio.h>
#define TAM 5
void bubble(int vetor[], int tam){
	int i, j;
	int aux;
	for(i=0; i<tam; i++){
		for(j=0; j<tam-(i+1); j++){
			if(vetor[j]>vetor[j+1]){
				aux=vetor[j];
				vetor[j]=vetor[j+1];
				vetor[j+1]=aux;
			}
		}
	}
}
void insertion(int vetor[], int tam){
	int i, j, menor;
	for(i=0; i<tam; i++){
		menor=vetor[i];
		j=i-1;
		while(j>=0 && vetor[j]>menor){
				vetor[j+1]=vetor[j];
				j--;
		}
		vetor[j+1]=menor;
	}
}
void selection(int vetor[],int tam){
	int i, j, posmenor, aux;
	for(i=0; i<tam-1; i++){
		posmenor=i;
		for(j=(i+1); j<tam; j++){
			if(vetor[j]<vetor[posmenor]){
				posmenor=j;
			}
		}
	
		if(i!=posmenor){
			aux=vetor[i];
			vetor[i]=vetor[posmenor];
			vetor[posmenor]=aux;
		}
	}
}
void quick(int vetor[], int inicio, int fim){
	int i, j, pivo, aux, meio;
	i=inicio;
	j=fim;
	meio = (inicio+fim)/2;
	pivo=vetor[meio];
	do{
		while(vetor[i]<pivo)
			i++;
		while(vetor[j]>pivo)
			j--;
		if(i<=j){
			aux=vetor[i];
			vetor[i]=vetor[j];
			vetor[j]=aux;
			i++;
			j--;
		}
	}while(j>=i);
	if(inicio<j)
		quick(vetor, inicio, j);
	if(inicio<fim)
		quick(vetor, i, fim);
}
int main(){
	int vetor[5] = {5, 3, 1, 4, 2};
	quick(vetor, 0, 4);
	int i;
	for(i=0; i<TAM; i++){
		printf("%d ", vetor[i]);
	}
	
	return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais