Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please Complete in C++ with a output screenshot! Here is the code I have so far:

ID: 3833329 • Letter: P

Question

Please Complete in C++ with a output screenshot!

Here is the code I have so far:

//************************************************
// quickSort uses the QuickSort algorithm to *
// sort arr from arr[start] through arr[end]. *

//************************************************

void quickSort(int arr[], int start, int end);
{
   int pivotPoint;       //index
   if (start < end)
   {
       pivotPoint = partition(arr, start, end);
       //sort the left sublist
       quickSort(arr, start, pivotPoint - 1);
       //sort the right sublist
       quickSort(arr, pivotPoint + 1 end);
   }
}


//***********************************************************
// partition rearranges the entries in the array arr from *
// start to end so all values greater than or equal to the *
// pivot are on the right of the pivot and all values less *
// than are on the left of the pivot. *

//***********************************************************

int partition(int arr[], int start, int end)
{
   int pivotValue, pivotIndex;
   //find the middle of the list as the pivot

   //swap
   swap(arr[start], arr[mid])

   pivotValue = arr[start];
   pivotIndex = start;
   for (int index = start + 1; index <= end; index++)
   {

       if (arr[index] < pivotValue)
       {
           //..
       }

       return pivotIndex;
   }
}

//***********************************************************
// swap simply exchanges the contens of   *
// values1 and value2   *

//***********************************************************

Write a recursive version of the quicksort function. Demonstrate the functions in a driver program. The function prototypes are as followings // quicksort uses the QuickSort algorithm to // sort arr from arr[start] through arr[end] void quicksort(int arr[], int start, int end); // partition rearranges the entries in the array arr from // start to end so all values greater than or equal to the // pivot are on the right of the pivot and all values less // than are on the left of the pivot. int partition (int arr[], int start, int end); // swap simply exchanges the contens of // values 1 and value2 // void swap (int & value 1, int & value2); Create a template version of the QuickSort algorithm that will work with any data type. Demonstrate the template with a driver function.

Explanation / Answer

#include<iostream>

using namespace std;


//***********************************************************
// swap simply exchanges the contens of    *
// values1 and value2    *

//***********************************************************

void swap(int & value1, int & value2) {
   int temp = value1;
   value1 = value2;
   value2 = temp;
}

//***********************************************************
// partition rearranges the entries in the array arr from *
// start to end so all values greater than or equal to the *
// pivot are on the right of the pivot and all values less *
// than are on the left of the pivot. *

//***********************************************************

int partition(int arr[], int start, int end)
{
    int pivot = arr[end];    // pivot
    int i = (start - 1); // Index of smaller element

    for (int j = start; j < end; j++)
    {
        // If current element is smaller or equal to pivot
        if (arr[j] <= pivot)
        {
            i++;    // increment index of smaller element
            swap(arr[i], arr[j]);
        }
    }
    swap(arr[i + 1], arr[end]);
    return (i + 1);
}

//************************************************
// quickSort uses the QuickSort algorithm to *
// sort arr from arr[start] through arr[end]. *

//************************************************

void quickSort(int arr[], int start, int end)
{
    int pivotPoint;        //index
    if (start < end)
    {
        pivotPoint = partition(arr, start, end);
        //sort the left sublist
        quickSort(arr, start, pivotPoint - 1);
        //sort the right sublist
        quickSort(arr, pivotPoint + 1, end);
    }
}


int main() {
    int arr[] = {10, 7, 8, 9, 1, 5};
    int n = sizeof(arr)/sizeof(arr[0]);
    quickSort(arr, 0, n-1);
    cout<<"Sorted array: ";
    for(int i = 0; i< 6; i++)
   cout<< arr[i] <<endl;
    return 0;
}

So you have the code for quick sort here. Hope this code will help you. If you have any query, please feel free to comment below.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote