49.0k views
1 vote
C++ code for selection sort that has options of add data, remove data, sort data in ascending and descending and truncate data

1 Answer

2 votes

Answer:

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

void printData(const vector<int>& data) {

for (int value : data) {

cout << value << " ";

}

cout << endl;

}

void addData(vector<int>& data) {

int value;

cout << "Enter a value to add: ";

cin >> value;

data.push_back(value);

cout << "Value added successfully." << endl;

}

void removeData(vector<int>& data) {

if (data.empty()) {

cout << "No data to remove." << endl;

return;

}

int index;

cout << "Enter the index of the value to remove (0-" << data.size() - 1 << "): ";

cin >> index;

if (index >= 0 && index < data.size()) {

data.erase(data.begin() + index);

cout << "Value removed successfully." << endl;

} else {

cout << "Invalid index." << endl;

}

}

void sortDataAscending(vector<int>& data) {

sort(data.begin(), data.end());

cout << "Data sorted in ascending order." << endl;

printData(data);

}

void sortDataDescending(vector<int>& data) {

sort(data.rbegin(), data.rend());

cout << "Data sorted in descending order." << endl;

printData(data);

}

void truncateData(vector<int>& data) {

data.clear();

cout << "Data truncated successfully." << endl;

}

int main() {

vector<int> data;

int choice;

do {

cout << "\\--- Menu ---\\";

cout << "1. Add data\\";

cout << "2. Remove data\\";

cout << "3. Sort data in ascending order\\";

cout << "4. Sort data in descending order\\";

cout << "5. Truncate data\\";

cout << "6. Exit\\";

cout << "Enter your choice (1-6): ";

cin >> choice;

switch (choice) {

case 1:

addData(data);

break;

case 2:

removeData(data);

break;

case 3:

sortDataAscending(data);

break;

case 4:

sortDataDescending(data);

break;

case 5:

truncateData(data);

break;

case 6:

cout << "Exiting program." << endl;

break;

default:

cout << "Invalid choice. Please try again." << endl;

break;

}

} while (choice != 6);

return 0;

}

Step-by-step explanation:

User Kira Hao
by
8.5k points