How to sort a vector in descending order using selection sort with C++

1 Answer

0 votes
#include <vector>
#include <iostream>

void selection_sort_descending(std::vector<int> &vec) {
	int len = vec.size();

	for (int i = 0; i < len - 1; i++) {
		int max_i = i;

		for (int j = i + 1; j < len; j++) {
			if (vec[j] > vec[max_i]) {
			   max_i = j;
			}
		}

		int max = vec[max_i];
		vec[max_i] = vec[i];
		vec[i] = max;
	}
}

int main(void)
{
	std::vector<int> vec = {2, 141, 3, 4, 21, 13, 30, 50};

	selection_sort_descending(vec);

	for (auto i : vec) {
		std::cout << i << " ";
	}
}


/*
run:

141 50 30 21 13 4 3 2 

*/

 



answered Feb 19, 2024 by avibootz
...