CocktailSelectionSort(std::vector<int> *vec,
intlow,
inthigh) {
14 intminimum = (*vec)[low];
15 intminimumindex = low;
16 intmaximum = (*vec)[high];
17 intmaximumindex = high;
19 for(
inti = low; i <= high; i++) {
20 if((*vec)[i] >= maximum) {
24 if((*vec)[i] <= minimum) {
29 if(low != maximumindex || high != minimumindex) {
30std::swap((*vec)[low], (*vec)[minimumindex]);
31std::swap((*vec)[high], (*vec)[maximumindex]);
33std::swap((*vec)[low], (*vec)[high]);
43voidCocktailSelectionSort_v2(std::vector<int> *vec,
intlow,
inthigh) {
47 intminimum = (*vec)[low];
48 intminimumindex = low;
49 intmaximum = (*vec)[high];
50 intmaximumindex = high;
52 for(
inti = low; i <= high; i++) {
53 if((*vec)[i] >= maximum) {
57 if((*vec)[i] <= minimum) {
62 if(low != maximumindex || high != minimumindex) {
63std::swap((*vec)[low], (*vec)[minimumindex]);
64std::swap((*vec)[high], (*vec)[maximumindex]);
66std::swap((*vec)[low], (*vec)[high]);
69CocktailSelectionSort(vec, low + 1, high - 1);
76std::cout <<
"Enter number of elements\n";
78std::vector<int> v(n);
79std::cout <<
"Enter all the elements\n";
80 for(
inti = 0; i < n; ++i) {
85std::cout <<
"Enter method: \n\t0: iterative\n\t1: recursive:\t";
89CocktailSelectionSort(&v, 0, n - 1);
90}
else if(method == 1) {
91CocktailSelectionSort_v2(&v, 0, n - 1);
93std::cerr <<
"Unknown method"<< std::endl;
96std::cout <<
"Sorted elements are\n";
97 for(
inti = 0; i < n; ++i) {
98std::cout << v[i] <<
" ";
int main()
Main function.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4