【问题标题】:Dont know how to return value from bubble sort function不知道如何从冒泡排序函数返回值
【发布时间】:2014-12-04 15:52:37
【问题描述】:
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;
}

我正在对用户使用冒泡排序定义的向量进行排序。但是我不知道如何返回排序后的向量。

任何帮助将不胜感激。

【问题讨论】:

  • vec 没有被使用,并且签名说它将返回double,这通常没有意义,因为您正在更新s
  • 既然你只用s.get_data(),而s没有别的,那你为什么不改签名直接接受向量呢? (或者甚至干脆改用std::sort...)

标签: c++ sorting vector return bubble-sort


【解决方案1】:

如果不需要,不需要返回,返回类型可以为void

void b_sort(sample &s){
..
}//return nothing

【讨论】:

  • 噢耶!我急于赶上最后期限,我完全忘记了这一点。谢谢!
【解决方案2】:

没有必要返回任何东西。您已经使用 &amp; 通过引用传递了向量,因此它已经在内存中进行了修改。

使用void,不需要返回值

void b_sort(sample &s){

}

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 2013-05-10
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多