I need help revising this code to improve quick sort. I need to understand the time complexity of the code too. Please. #include using namespace std;   // Function prototypes void quickSort(int list[], int arraySize); void quickSort(int list[], int middle, int last); int partition(int list[], int middle, int last);   void quickSort(int list[], int arraySize) {   quickSort(list, 0, arraySize - 1); }   void quickSort(int list[], int middle, int last) {   if (last > middle)   {     int pivotIndex = partition(list, middle, last);     quickSort(list, middle, pivotIndex - 1);     quickSort(list, pivotIndex + 1, last);   } }   // Partition the array list[first..last] int partition(int list[], int middle, int last) {   int pivot = list[middle]; // Choose the first element as the pivot   int low = middle + 1; // Index for forward search   int high = last; // Index for backward search     while (high > low)   {     // Search forward from left     while (low <= high && list[low] <= pivot)       low++;       // Search backward from right     while (low <= high && list[high] > pivot)       high--;       // Swap two elements in the list     if (high > low)     {       int temp = list[high];       list[high] = list[low];       list[low] = temp;     }   }     while (high > middle && list[high] >= pivot)     high--;     // Swap pivot with list[high]   if (pivot > list[high])   {     list[middle] = list[high];     list[high] = pivot;     return high;   }   else   {     return middle;   } }   int main() {   const int SIZE = 10;   int list[] = {1, 7, 3, 4, 9, 3, 3, 1, 2,10 };   quickSort(list, SIZE);   for (int i = 0; i < SIZE; i++)     cout << list[i] << " ";     return 0;

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

 

I need help revising this code to improve quick sort. I need to understand the time complexity of the code too. Please.

#include <iostream>

using namespace std;

 

// Function prototypes

void quickSort(int list[], int arraySize);

void quickSort(int list[], int middle, int last);

int partition(int list[], int middle, int last);

 

void quickSort(int list[], int arraySize)

{

  quickSort(list, 0, arraySize - 1);

}

 

void quickSort(int list[], int middle, int last)

{

  if (last > middle)

  {

    int pivotIndex = partition(list, middle, last);

    quickSort(list, middle, pivotIndex - 1);

    quickSort(list, pivotIndex + 1, last);

  }

}

 

// Partition the array list[first..last]

int partition(int list[], int middle, int last)

{

  int pivot = list[middle]; // Choose the first element as the pivot

  int low = middle + 1; // Index for forward search

  int high = last; // Index for backward search

 

  while (high > low)

  {

    // Search forward from left

    while (low <= high && list[low] <= pivot)

      low++;

 

    // Search backward from right

    while (low <= high && list[high] > pivot)

      high--;

 

    // Swap two elements in the list

    if (high > low)

    {

      int temp = list[high];

      list[high] = list[low];

      list[low] = temp;

    }

  }

 

  while (high > middle && list[high] >= pivot)

    high--;

 

  // Swap pivot with list[high]

  if (pivot > list[high])

  {

    list[middle] = list[high];

    list[high] = pivot;

    return high;

  }

  else

  {

    return middle;

  }

}

 

int main()

{

  const int SIZE = 10;

  int list[] = {1, 7, 3, 4, 9, 3, 3, 1, 2,10 };

  quickSort(list, SIZE);

  for (int i = 0; i < SIZE; i++)

    cout << list[i] << " ";

 

  return 0;

}

Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education