У меня есть три узла следующим образом.Как сравнить узлы и не добавлять дубликаты в C?
Первый узел (sNodes) содержит: а, б, в, г Второй узел (rNodes) содержит: C, D, E, F третьего узла (узлов) содержит: A, B, C, D
Я хочу добавить любые узлы из второго узла, который не находится в третьем узле. У меня тяжелое время, как сделать это на C, поскольку я всего лишь новичок. Я попытался использовать метод strcmp для цикла for, но не смог его решить. Любая помощь могла бы быть полезна.
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);
}
}
}