📄 list.c
字号:
#include "list.h"#include "salloc.h"#include <assert.h>#define INITIAL_SIZE 16List *new_list(void){ List *list = safe_malloc(sizeof(List)); list->size = 0; list->allocated = INITIAL_SIZE; list->data = safe_malloc(sizeof(void * [INITIAL_SIZE])); return list;}void delete_list(List *list){ if (list != 0) { free(list->data); free(list); }}void list_append(List *list, void *data){ if (list->size == list->allocated) { list->allocated *= 2; list->data = safe_realloc(list->data, sizeof(void *) * list->allocated); } list->data [list->size ++] = data;}void list_merge(List *list_1, List *list_2){ unsigned i; for (i = 0; i < list_2->size; i ++) list_append(list_1, list_2->data [i]); delete_list(list_2);}unsigned list_size(const List *list){ return list->size;}void *list_index(const List *list, unsigned index){ assert(index < list->size); return list->data [index];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -