我已经完成了这段代码来从列表中删除一个元素:
列表结构:
typedef struct list_t{
struct node_t *head;
int size;
};
typedef struct node_t{
struct entry_t *element;//Each entry has a key
struct node_t *next;
}node_t;
删除方法:
int list_remove(struct list_t *list, char *key){
node_t *no = list->head;
struct list_t *lista = list_create();
int i;
for(i=0;i<list->size;i++){
if(strcmp(no->element->key, key)==0)
no=no->next;
else {
list_add(lista,no->element);
no=no->next;
}
}
}
列表中的每个元素都有一个键。
我的想法是使用给定列表(列表)中的元素创建一个新列表(列表),但我要删除的元素除外。
我现在的问题是:
- 如何从旧列表(列表)中删除所有元素?
- 如何将新列表 (lista) 中的元素添加到旧列表 (list)?
谢谢。