📜  数据结构|堆叠问题1

📅  最后修改于: 2021-06-29 00:01:10             🧑  作者: Mango

以下是类似于C的函数的伪代码,该函数采用数字作为参数,并使用堆栈S进行处理。

void fun(int n)
{
    Stack S;  // Say it creates an empty stack S
    while (n > 0)
    {
      // This line pushes the value of n%2 to stack S
      push(&S, n%2);
  
      n = n/2;
    }
  
    // Run while Stack S is not empty
    while (!isEmpty(&S))
      printf("%d ", pop(&S)); // pop an element from S and print it
}

上述函数通常有什么作用?
(A)以相反顺序打印n的二进制表示形式
(B)打印n的二进制表示
(C)打印Logn的值
(D)以相反的顺序打印Logn的值答案: (B)说明:有关说明,请参见https://www.geeksforgeeks.org/binary-representation-of-a-given-number/的方法2。