如何在C中比较节点而不添加重复节点?
我有三个节点,如下所示 第一个节点(sNodes)包含:a、b、c、d 第二个节点(rNodes)包含:c、d、e、f 第三个节点包含:a、b、c、d 我想从第二个节点添加任何不在第三个节点中的节点。我很难用C语言来做,因为我只是一个初学者。我尝试在for循环中使用strcmp方法,但无法以这种方式解决它。任何帮助都将不胜感激如何在C中比较节点而不添加重复节点?,c,struct,compare,nodes,C,Struct,Compare,Nodes,我有三个节点,如下所示 第一个节点(sNodes)包含:a、b、c、d 第二个节点(rNodes)包含:c、d、e、f 第三个节点包含:a、b、c、d 我想从第二个节点添加任何不在第三个节点中的节点。我很难用C语言来做,因为我只是一个初学者。我尝试在for循环中使用strcmp方法,但无法以这种方式解决它。任何帮助都将不胜感激 typedef struct { char emails[(LENGTH*2)+1]; }Node; Node nodes[GRAPH_SIZE + 1], sNodes
typedef struct {
char emails[(LENGTH*2)+1];
}Node;
Node nodes[GRAPH_SIZE + 1], sNodes[(GRAPH_SIZE + 1) / 2], rNodes[(GRAPH_SIZE + 1)/2];
void addNode(){
int j =0,k = 0, compare, total;
char item[] = {0};
for(j = 0; j <= GRAPH_SIZE/2; j++){
total = 0;
for(k = 0; k <= GRAPH_SIZE/2; k++){
if(strcmp(rNodes[j].emails, nodes[k].emails) != 0){
total = 1;
}else {
total = 0;
}
}
if(total == 1){
strcpy(nodes[i].emails, rNodes[j].emails);
}
}
}
typedef结构{
字符电子邮件[(长度*2)+1];
}节点;
节点节点[图大小+1]、节点节点[(图大小+1)/2]、节点[(图大小+1)/2];
void addNode(){
int j=0,k=0,比较,总计;
字符项[]={0};
对于(j=0;j您提供的代码片段未完成或有缺陷,
(像未使用的鼻涕、物品、比较……我找不到我在哪里)
我也不清楚你想做什么
但让我假设您要进行比较,如果不匹配,请进行复制。
然后,当您发现不匹配节点时,应该中断for strcmp循环,
所以您可以复制目标节点,而不仅仅是设置标志