首页 > 解决方案 > 在 char 表中查找索引值

问题描述

我试图通过查看数组来找到索引号,但我不能使用循环。可能吗?

我已经附上了用循环执行此操作的代码。

#include <iostream>
using namespace std;

const char digits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', \
'A', 'B', 'C', 'D', 'E', 'F', };

int find_index(string str);

int main()
{
    string str = "A";
    cout << find_index(str) << endl;

}

int find_index(string str)
{
    // using a loop, in this case for loop.
    for (int i = 0 ; i < 16 ; i++)
    {
        // cout << digits[i] << endl;
        if ( digits[i] == str[0] )
        {
            return i;
        }
    }
    return -1;
}

是否可以在没有循环的情况下做同样的事情?

标签: c++stringalgorithm

解决方案


if (loopsAllowed == false) {
    useRecursion();
}
else {
    useLoops();
}

如果您对学校项目有奇怪的要求,这是一种非常标准的做事方式。我会避免的一件事是使用goto跳转到前面的代码部分。这实际上是循环。

此外,只要有足够的堆栈内存,任何使用循环的东西在技术上都可以通过递归实现。


推荐阅读