Не знаю, как вернуть значение из функции пузырьковой сортировки

0
double b_sort(sample &s){
    int swap;
    int i = 0;
    int size = s.get_data().size();
    vector <double> vec;
    for (i; i < size; i++){
        if (s.get_data().at(i) < s.get_data().at(i + 1){
            swap = s.get_data().at(i + 1);
            s.get_data().at(i + 1) = s.get_data().at(i);
            s.get_data().at(i) = swap;
        }
    }
    return //dont know what to return;
}

Im сортирует вектор, который определяется пользователем с помощью bubblesort. Однако я не знаю, как вернуть отсортированный вектор.

Любая помощь будет оценена.

  • 1
    vec не используется, и подпись говорит, что он вернет double , что, как правило, не имеет смысла, так как вы обновляете s на месте.
  • 0
    Поскольку вы используете только s.get_data() и ничего больше от s , почему бы вам не изменить сигнатуру для непосредственного принятия вектора? (Или просто используйте вместо него std::sort ...)
Теги:
sorting
vector
return
bubble-sort

2 ответа

6
Лучший ответ

Если вам не нужно, нет необходимости возвращаться, вы можете иметь возвращаемый тип как void

void b_sort(sample &s){
..
}//return nothing
  • 0
    Оооо даааа! Я был в такой спешке, чтобы уложиться в срок, я полностью забыл об этом. Спасибо!
1

Нет необходимости возвращать что-либо. Вы передали вектор по ссылке, & поэтому он уже модифицируется в памяти.

Используйте void и вам не нужно возвращать значение

void b_sort(sample &s){

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню