Update PrintUtil.hpp

补充了stack打印方法,形式为"top->num1, num2]"
我不确定这么做是否规范
This commit is contained in:
qualifier1024 2022-11-28 09:32:05 +08:00 committed by GitHub
parent 06d4162ddb
commit 26f9d6363e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -210,4 +210,34 @@ class PrintUtil {
printTree(root->left, trunk, false);
}
/**
* @brief Get the Stack String object
*
* @tparam T
* @param stack
* @return string
*/
template <typename T>
static string getStackString(stack<T> stack) {
ostringstream s;
if(!stack.empty()){
s << stack.top();
stack.pop();
}
while(!stack.empty()){
s << ", " << stack.top();
stack.pop();
}
return "top->" + s.str() + "]";
}
/**
* @brief Print a stack
*
* @tparam T
* @param stack
*/
template <typename T>
static void printStack(stack<T> &stack) {
cout << getStackString(stack) << '\n';
}
};