gpt4 book ai didi

c++ - 优先函数

转载 作者:太空狗 更新时间:2023-10-29 23:47:38 26 4
gpt4 key购买 nike

我正在尝试编写一个函数,它位于我的主程序中,用于比较用户输入的运算符的优先级。该函数将查找以下运算符:

+, -, * , /*, / 具有最高优先级,+- 具有最低优先级。

优先级最低的运算符位于堆栈底部,而优先级最高的运算符位于堆栈顶部。因此,如果用户输入 +-*/*/+- 应该显示在终端中。

关于我应该如何处理这件事有什么想法吗?

最佳答案

只需使用带有自定义谓词的 std::sort 对它们进行排序。

int precedence(char op)
{
if (op == '*' || op == '/') return 0;
return 1;
}

bool comparePrecedence(char a, char b)
{
return precedence(a) < precedence(b);
}

int main()
{
char input[] = "+-/";
std::sort(input, input + 3, &comparePrecedence);
}

显然,您可以简单地通过将它们添加到 precedence 函数中来添加其他运算符。

关于c++ - 优先函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771656/

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