我有一個方法,添加一個條目到表中。這些條目是人的姓名和地址。防止重複項被添加(C程序)
int rtable_add(RESIZABLE_TABLE * table, char * name, void * value) {
table->array[table->currentElements].name = strdup(name);
table->array[table->currentElements].value = value;
table->currentElements++;
int i = 0;
for(i = 0; i < table->currentElements;i++) {
if(strcmp(table->array[i].name, name) == 0) {
table->array[i].value = value;
}
}
return 0;
}
但是,如果我再次通過相同名稱的方法,但通過不同的地址,它應更新舊條目用新的地址(即價值),但它不應該把它作爲一個全新的入口。例如,
如果我給一組條目 -
1)喬治 「126葡萄街」
2)阿什利 「889葡萄街」
3)喬治「556葡萄街「
該程序應該只更新喬治的地址(即值),但不應該在表中添加另一個重複的條目。
我的代碼的問題是,我做的方式,這是它給了我 -
---什麼,我抵達---
1)喬治「556葡萄街「
2)阿什利 」889葡萄街「
3)喬治 」556葡萄街「
--EXPECTED--
1)喬治 「556葡萄街」
2)阿什利 「889葡萄街」
參見[從表中刪除元素](HTTP://計算器。com/questions/25954964 /)。 – 2014-09-21 03:29:57