gpt4 book ai didi

c++ - 合并排序 C++ 1 参数 - vector

转载 作者:行者123 更新时间:2023-11-28 01:24:19 25 4
gpt4 key购买 nike

<分区>

我需要帮助创建一个函数以在 C++ 中执行合并排序,但我仅限于 1 个参数,一个 vector 。我已经开始并创建了下面的代码,但它没有正确排序。如果有人能帮我解决这个问题,我将不胜感激。谢谢。

template <class T>
vector<T> mergeSort(std::vector<T> lst){
if(lst.size() == 1){
return lst;
}
else{
int size = lst.size();
int low = floor(size/2);
int high = ceil(size/2);

vector<T> left(lst[0], lst[low]);
vector<T> right(lst[low], lst[size]);

mergeSort(left);
mergeSort(right);
merge(lst, left, right);

return lst;
}


}

template <class T>
vector<T> merge(vector<T>list, vector<T> left, vector<T> right){
auto l = left.begin();
auto r = right.begin();
auto a = list.begin();

while(l != left.end() && r != right.end()){
if(*r < *l){
*a = *r;
r++;
}
else{
*a = *l;
left++;
}

a++;

}

return list;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com