diff --git a/code/c/13-quick_sort.c b/code/c/13-quick_sort.c index 91e8e53..06735c6 100644 --- a/code/c/13-quick_sort.c +++ b/code/c/13-quick_sort.c @@ -12,7 +12,7 @@ */ int partition(int arr[], int low, int high) { int pivot = arr[high]; // Choose the last element as pivot - int i = low - 1; // Index of smaller element + int i = low; // Index of smaller element for (int j = low; j <= high - 1; j++) { // If current element is smaller than or equal to pivot @@ -24,11 +24,11 @@ int partition(int arr[], int low, int high) { arr[j] = temp; } } - // Swap arr[i+1] and arr[high] (or pivot) - int temp = arr[i + 1]; - arr[i + 1] = arr[high]; + // Swap arr[i] and arr[high] (or pivot) + int temp = arr[i]; + arr[i] = arr[high]; arr[high] = temp; - return (i + 1); + return i; } /** diff --git a/slides/slides-pt.typ b/slides/slides-pt.typ index 51ac5ef..2ec2c05 100644 --- a/slides/slides-pt.typ +++ b/slides/slides-pt.typ @@ -2681,7 +2681,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada ```c int partition(int arr[], int low, int high) { int pivot = arr[high]; // pivô - int i = (low - 1); // Índice do menor elemento + int i = low; // Índice do menor elemento for (int j = low; j <= high - 1; j++) { // Se o elemento atual é menor ou igual ao pivô @@ -2692,12 +2692,12 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada arr[j] = temp; } } - // Troca arr[i + 1] e arr[high] (ou pivô) - int temp = arr[i + 1]; - arr[i + 1] = arr[high]; + // Troca arr[i] e arr[high] (ou pivô) + int temp = arr[i]; + arr[i] = arr[high]; arr[high] = temp; - return (i + 1); + return i; } ``` ] diff --git a/slides/slides.typ b/slides/slides.typ index 617e1ef..301d248 100644 --- a/slides/slides.typ +++ b/slides/slides.typ @@ -2660,7 +2660,7 @@ subtrees is at most 1. ```c int partition(int arr[], int low, int high) { int pivot = arr[high]; // pivot - int i = (low - 1); // Index of smaller element + int i = low; // Index of smaller element for (int j = low; j <= high - 1; j++) { // If current element is smaller than or equal to pivot @@ -2671,12 +2671,12 @@ subtrees is at most 1. arr[j] = temp; } } - // Swap arr[i + 1] and arr[high] (or pivot) - int temp = arr[i + 1]; - arr[i + 1] = arr[high]; + // Swap arr[i] and arr[high] (or pivot) + int temp = arr[i]; + arr[i[high]; arr[high] = temp; - return (i + 1); + return i; } ``` ]