Skip to content
Snippets Groups Projects
Commit c3215923 authored by Mickael Da Silva's avatar Mickael Da Silva
Browse files

Tri Rapide

parent eda986e8
Branches
No related merge requests found
......@@ -55,4 +55,34 @@ void fusion(long * A, size_t p, size_t q, size_t r){
void triFusion(long * A, size_t n){
sousTriFusion(A, 0, n);
}
void sousTriRapide(long* A, size_t p, size_t r) {
if (p<r-1) {
size_t q = partition(A, p, r);
sousTriRapide(A, p, q);
sousTriRapide(A, q+1, r);
}
}
void partition(long* A, size_t p, size_t r) {
size_t pivot = A[r-1];
size_t i = p;
long temp;
for (size_t j = p; j < r-2; j++) {
if (A[j] <= pivot) {
temp = A[i];
A[i] = A[j];
A[j] = temp;
i++;
}
}
temp = A[i];
A[i] = A[r-1];
A[r-1] = temp;
return i;
}
void triRapide(long* A, size_t n) {
sousTriRapide(A, 0, n);
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment