Given a main() that reads user IDs (until -1), complete the Quicksort() and Partition() functions to sort the IDs in ascending order using the Quicksort algorithm, and output the sorted IDs one per line. Ex. If the input is: kaylasimms julia myron1994 kaylajones -1 the output is: julia kaylajones kaylasimms myron1994   I can only change the //TODO #include #include #include using namespace std; // TODO: Write the partitioning algorithm - pick the middle element as the // pivot, compare the values using two index variables l and h (low and high), // initialized to the left and right sides of the current elements being sorted, // and determine if a swap is necessary int Partition(vector &userIDs, int i, int k) { } // TODO: Write the quicksort algorithm that recursively sorts the low and // high partitions void Quicksort(vector &userIDs, int i, int k) { } int main(int argc, char* argv[]) { vector userIDList; string userID; cin >> userID; while (userID != "-1") { userIDList.push_back(userID); cin >> userID; } // Initial call to quicksort Quicksort(userIDList, 0, userIDList.size() - 1); for (size_t i = 0; i < userIDList.size(); ++i) { cout << userIDList.at(i) << endl;; } 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

15.11 LAB: Sorting user IDs C++

 

Given a main() that reads user IDs (until -1), complete the Quicksort() and Partition() functions to sort the IDs in ascending order using the Quicksort algorithm, and output the sorted IDs one per line.

Ex. If the input is:

kaylasimms
julia
myron1994
kaylajones
-1

the output is:

julia
kaylajones
kaylasimms
myron1994

 

I can only change the //TODO

#include <string>
#include <vector>
#include <iostream>

using namespace std;

// TODO: Write the partitioning algorithm - pick the middle element as the
// pivot, compare the values using two index variables l and h (low and high),
// initialized to the left and right sides of the current elements being sorted,
// and determine if a swap is necessary
int Partition(vector<string> &userIDs, int i, int k) {

}

// TODO: Write the quicksort algorithm that recursively sorts the low and
// high partitions
void Quicksort(vector<string> &userIDs, int i, int k) {

}

int main(int argc, char* argv[]) {
vector<string> userIDList;
string userID;

cin >> userID;
while (userID != "-1") {
userIDList.push_back(userID);
cin >> userID;
}

// Initial call to quicksort
Quicksort(userIDList, 0, userIDList.size() - 1);

for (size_t i = 0; i < userIDList.size(); ++i) {
cout << userIDList.at(i) << endl;;
}

return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Parallel Processing
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
  • SEE MORE 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