From 36560ef07bdb1207c09a3cee3835b9a00ea5e2b5 Mon Sep 17 00:00:00 2001 From: Saturneic Date: Thu, 3 Jan 2019 18:33:14 +0800 Subject: [PATCH] Added. --- src/list/list_copy.c | 9 ++++++- src/list/list_expand_complex.c | 46 ++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/list/list_copy.c b/src/list/list_copy.c index 99f64f8..4cf7549 100644 --- a/src/list/list_copy.c +++ b/src/list/list_copy.c @@ -3,7 +3,7 @@ /** - 以一个已存在的节点为模板创建一个新的节点 + 以一个已存在的节点为模板创建一个相同的新的节点 @param p_node 指向作为模板的节点的指针 @return 返回指向新的节点的指针 @@ -26,6 +26,13 @@ Node *copyNode(Node *p_node) { return t_node; } + +/** + 根据已存在的链表创建一个相同的新的链表 + + @param p_list 指向作为模板的链表的指针 + @return 返回指向新链表的指针 + */ List *copyList(List *p_list) { Node *p_node; Node *t_node; diff --git a/src/list/list_expand_complex.c b/src/list/list_expand_complex.c index 9f9a02f..62fb00e 100644 --- a/src/list/list_expand_complex.c +++ b/src/list/list_expand_complex.c @@ -2,6 +2,11 @@ #include #include +/** + 创建一个新的且内容为链表的节点 + + @return 返回指向新节点的指针 + */ Node *nodeWithComplex(void) { Node *p_node = initNode(0); p_node->type = LIST; @@ -9,6 +14,15 @@ Node *nodeWithComplex(void) { return p_node; } + +/** + 为一个内容为链表的节点中的链表中添加节点并指定内容 + + @param p_node 指向该节点的指针 + @param type 内容的类型 + @param value 指向该内容所在内存的指针 + @return 操作成功则返回一个非负整数 + */ int addValueForComplex(Node * p_node, int type, void *value) { List *c_list; Node *c_node; @@ -22,6 +36,14 @@ int addValueForComplex(Node * p_node, int type, void *value) { return -1; } + +/** + 为一个内容为链表的节点中的链表中添加整型类型的节点并初始化为相应的值 + + @param p_node 指向该节点的指针 + @param temp 相应的整型值 + @return 操作成功则返回非负整数 + */ int addIntForComplex(Node *p_node, int temp) { if (p_node->type == LIST) { int *p_temp = (int *)malloc(sizeof(int)); @@ -35,6 +57,14 @@ int addIntForComplex(Node *p_node, int temp) { return -1; } + +/** + 为一个内容为链表的节点中的链表中添加双精度浮点类型的节点并初始化为相应的值 + + @param p_node 指向该节点的指针 + @param temp 相应的双精度浮点值 + @return 操作成功则返回非负整数 + */ int addDoubleForComplex(Node *p_node, double temp) { if (p_node->type == LIST) { double *p_temp = (double *)malloc(sizeof(double)); @@ -48,6 +78,14 @@ int addDoubleForComplex(Node *p_node, double temp) { return -1; } + +/** + 为一个内容为链表的节点中的链表中添加字符串类型的节点并初始化为相应的值 + + @param p_node 指向该节点的指针 + @param temp 相应的字符数组 + @return 操作成功则返回非负整数 + */ int addStringForComplex(Node *p_node, char *temp) { if (p_node->type == LIST) { char *p_temp = (char *)malloc(sizeof(strlen(temp) + 1)); @@ -61,6 +99,14 @@ int addStringForComplex(Node *p_node, char *temp) { return -1; } + +/** + 为一个内容为链表的节点中的链表中添加指针类型的节点并初始化为相应的值 + + @param p_node 指向该节点的指针 + @param temp 相应的指针 + @return 操作成功则返回非负整数 + */ int addPointerForComplex(Node *p_node, void *temp) { if (p_node->type == LIST) { addValueForComplex(p_node, POINTER, temp);