[英]using sort in C++ to sort a string starting from 2nd character to last character
[英]how to pass a string from 2nd character onwards as parameter in the function for recursion with constraint that data tye is String in function?
void someFunction(node * root, string s)
{
//some base condition;
node *tem;
for(char i= 0;s[i]!='\0';i++){
if(s[i]=='1'){
tem=root->right;
someFunction(root->right,s+1);
}
else{
tem = root->left;
decode_huff(tem, s+1)
}
tem=root;
}
}
這是顯示錯誤。
您的 function 按值獲取std::string
,因此每次調用 function 時,都必須為其創建一個新string
。 要從另一個std::string
std::string
請使用std::string::substr()
方法。
此外, std::string
不是以空字符結尾的字符串,您應該根據它的size()
而不是它的字符循環:
void someFunction(node * root, string s)
{
//some base condition;
node *tem;
for(size_t i = 0; i < s.size(); i++){
if (s[i] == '1'){
tem = root->right;
someFunction(root->right, s.substr(i+1));
}
else{
tem = root->left;
decode_huff(tem, s.substr(i+1));
}
tem = root;
}
}
將 s.substr(i+1) 作為第二個參數傳遞給 someFunction。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.