c++中"isalnum(char)"的时间复杂度是多少?

What is time complexity of "isalnum(char)" in c++?

isalnum(char) 是一种告诉我们给定字符是否为字母数字的方法。 这个小函数的时间复杂度是多少?

我写了一个小子程序:

bool check(string s,int i)
     {
        if((s[i]>='a' && s[i]<='z') ||
           (s[i]>='0' && s[i]<='9') ||
          (s[i]>='A' && s[i]<='Z'))
        {
            return true;
        }     
        return false;
    }

上面的子程序和isalnum(char)方法一样吗? 时间复杂度是否相同?

这些函数是不同的,因为isalnum需要int。如果你问他们执行的动作,他们也是不同的。

isalnum('\xdf'), default C locale, returns false
isalnum('\xdf'), ISO-8859-1 locale, returns true
check("\xdf", 0) always returns false.

两种情况下的时间复杂度相似,O(1)。您的函数可能会更快,因为它不使用语言环境。