Buscar

Ordenação por QuickSort

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

#include <stdio.h>
void qsort(int *p, int left,int right){
	register int i,j,x,y;
	i = left; j = right;
	x = p[(left+right)/2];
	do{
		while(p[i]<x && i<right)i++;
		while(x<p[j] && j>left)j--;
		if(i<=j){
			y = p[i];
			p[i] = p[j];
			p[j] = y;
			i++;j--;
		}
	}while(i<=j);
	if(left<j) qsort(p,left,j);
	if(i<right)qsort(p,i,right);
}
void sortmod(int *p,int tamanho){
	qsort(p,0,tamanho-1);
}
int main(){
	int vetor[12] = {17, 42, 9, 33, 12,54,65,23,54,76,1,22};
	int *v = vetor;
	sortmod(v,12);
	for(int i = 0;i<12;i++){
		printf("%d\n",v[i]);
	}
	return 0;
 }

Teste o Premium para desbloquear

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

Outros materiais