Buscar

Algoritmo QuickSort

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Método de ordenação QuickSort (Adaptado de Ziviani, pp. 78-81) 
 
Procedure Particao ( Esq, Dir: int; var i, j: int );
Var x, w : car ;
Início
i ← Esq ; j ← Dir ;
x ← A[ ( i + j ) div 2 ] ;
Repita
Enqto x > A[ i ] Faça
i ← i + 1 ;
Enqto x < A[ j ] Faça
j ← j - 1 ;
Se i <= j Então
Início
w ← A[ i ] ;
A[ i ] ← A[ j ] ;
A[ j ] ← w ;
i ← i + 1 ;
j ← j - 1 ;
Fim ;
Até i > j ;
Fim
 
Procedure QuickSort ( var A : vetor de car com n elementos );
Procedure Ordena ( Esq, Dir : int ) ;
Var i, j: int ;
Início
Particao( Esq, Dir, i, j );
Se Esq < j Então
Ordena( Esq, j ) ;
Se i < Dir Então
Ordena( i, Dir ) ;
Fim ;
Início
Ordena( 1, n ) ;
Fim
vDados 
1 C 
2 G 
3 D 
4 B 
5 J 
6 F 
7 I 
8 A 
9 H 
10 E

Outros materiais