|
3 | 3 |
|
4 | 4 | using namespace std;
|
5 | 5 |
|
6 |
| -int separa(vector<int> &vetor, int inicio, int fim) |
| 6 | +int partition(vector<int> &vector, int start, int end) |
7 | 7 | {
|
8 |
| - int pivo = vetor[fim]; |
9 |
| - int indice = inicio; |
| 8 | + int pivot = vector[end]; |
| 9 | + int index = start; |
10 | 10 |
|
11 |
| - for (int i = inicio; i < fim; i++) |
| 11 | + for (int i = start; i < end; i++) |
12 | 12 | {
|
13 |
| - if (vetor[i] < pivo) |
| 13 | + if (vector[i] < pivot) |
14 | 14 | {
|
15 |
| - int temp = vetor[i]; |
16 |
| - vetor[i] = vetor[indice]; |
17 |
| - vetor[indice] = temp; |
18 |
| - indice++; |
| 15 | + int temp = vector[i]; |
| 16 | + vector[i] = vector[index]; |
| 17 | + vector[index] = temp; |
| 18 | + index++; |
19 | 19 | }
|
20 | 20 | }
|
21 | 21 |
|
22 |
| - if (pivo <= vetor[indice]) |
| 22 | + if (pivot <= vector[index]) |
23 | 23 | {
|
24 |
| - vetor[fim] = vetor[indice]; |
25 |
| - vetor[indice] = pivo; |
| 24 | + vector[end] = vector[index]; |
| 25 | + vector[index] = pivot; |
26 | 26 | }
|
27 | 27 |
|
28 |
| - return indice; |
| 28 | + return index; |
29 | 29 | }
|
30 | 30 |
|
31 |
| -void quickSort(vector<int> &vetor, int inicio, int fim) |
| 31 | +void quickSort(vector<int> &vector, int start, int end) |
32 | 32 | {
|
33 |
| - if (inicio < fim) |
| 33 | + if (start < end) |
34 | 34 | {
|
35 |
| - int pivo = separa(vetor, inicio, fim); |
36 |
| - quickSort(vetor, inicio, pivo-1); |
37 |
| - quickSort(vetor, pivo+1, fim); |
| 35 | + int pivot = partition(vector, start, end); |
| 36 | + quickSort(vector, start, pivot-1); |
| 37 | + quickSort(vector, pivot+1, end); |
38 | 38 | }
|
39 | 39 | }
|
40 | 40 |
|
41 |
| -void quickSort(vector<int> &vetor) |
| 41 | +void quickSort(vector<int> &vector) |
42 | 42 | {
|
43 |
| - quickSort(vetor, 0, vetor.size()-1); |
| 43 | + quickSort(vector, 0, vector.size()-1); |
44 | 44 | }
|
45 | 45 |
|
46 |
| -void mostraVetor(vector<int> vetor) |
| 46 | +void showVector(vector<int> vector) |
47 | 47 | {
|
48 |
| - for (uint32_t i = 0; i < vetor.size(); ++i) |
| 48 | + for (uint32_t i = 0; i < vector.size(); ++i) |
49 | 49 | {
|
50 |
| - cout << vetor[i] << ", "; |
| 50 | + cout << vector[i] << ", "; |
51 | 51 | }
|
52 | 52 | cout << "\n";
|
53 | 53 | }
|
54 | 54 |
|
55 | 55 | int main()
|
56 | 56 | {
|
57 |
| - vector<int> vetor; |
| 57 | + vector<int> vector; |
58 | 58 | for (uint32_t i = 0; i < 10; ++i)
|
59 | 59 | {
|
60 |
| - vetor.push_back(rand() % 100); |
| 60 | + vector.push_back(rand() % 100); |
61 | 61 | }
|
62 |
| - mostraVetor(vetor); |
63 |
| - quickSort(vetor); |
64 |
| - mostraVetor(vetor); |
| 62 | + showVector(vector); |
| 63 | + quickSort(vector); |
| 64 | + showVector(vector); |
65 | 65 | }
|
0 commit comments