小编Sus*_*hil的帖子

两个指针变量之间的差异

我在书面测试中问了这个问题.在我的lapi上运行下面的代码时,我得到10作为输出

#include<stdio.h>
int main()
{
  int *i, *j;/* two pointer variable*/
  i = (int *)60;
  j = (int *)20;
  printf("%d \n",i-j);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

10 
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么输出10.

c pointers pointer-arithmetic

7
推荐指数
2
解决办法
7001
查看次数

检查输入是否为有效的二叉树(使用联合查找)

给定以(A,B)形式的多个元组,其中A是二叉树中的父级,B是子级,请查找输入是否有效。提供了4个错误条件:

  1. 如果父母有两个以上的孩子,
  2. 如果输入了重复的元组,
  3. 如果树有周期,
  4. 如果可能有多个根。

如果违反多个有效条件,请按上述顺序打印条件。如果输入有效,则以串行表示形式打印树。例如:如果输入是(A,B),(B,C),(A,D),(C,E),则输出:(A(B(C(E())))(D))

我正在考虑通过联合查找数据结构来解决它,但无法对其进行编码。谁能帮助我了解c / c ++中的逻辑或伪代码

binary-tree graph union-find

6
推荐指数
0
解决办法
634
查看次数