gpt4 book ai didi

c++ - 合并排序 std :string 中的字符

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

所以我正在尝试对字符串的字母进行合并排序,以便它们按顺序排列。大写无关紧要,因为家庭作业不需要它。出于某种原因,我无法获取 templet[index] = split[leftfirst]。我得到一个“不存在从 std::string 到 char 的合适的转换函数”。这是我的合并功能

 void merge(string *split, int leftfirst, int leftlast, int rightfirst, int rightlast)
{

string templet;
int index = leftfirst;
int savefirst = leftfirst;

while ((leftfirst <= leftlast) && (rightfirst <= rightlast))
{
if (split[leftfirst] < split[rightfirst])
{
templet[index] = split[leftfirst];
leftfirst++;
}
else
{
templet[index] = split[rightfirst];
rightfirst++;
}
index++;
}
while (leftfirst <= leftlast)
{
templet[index] = split[leftfirst];
leftfirst++;
index++;
}
while (rightfirst <= rightlast)
{
templet[index] = split[rightfirst];
rightfirst++;
index++;
}
for (index = savefirst; index <= rightlast; index++)
split[index] = templet[index];

}

感谢任何帮助。

最佳答案

split 是一个string*,这意味着split[some] 不会从字符串中取出一个字符,它会得到来自字符串数组的字符串。

解决此问题的最简单方法是将函数定义更改为具有 string &split,如果您想修改变量。

关于c++ - 合并排序 std :string 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34942455/

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