From 7c1c811ea1ac25c5ef3615971456e2f343375dcd Mon Sep 17 00:00:00 2001 From: wjf-hs Date: Wed, 3 Jul 2024 14:41:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8B=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/deque.h | 14 +++++++------- src/deque.c | 29 +++++++++++++++-------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/include/deque.h b/include/deque.h index d12d0bb..29a23b6 100644 --- a/include/deque.h +++ b/include/deque.h @@ -1,12 +1,12 @@ /** * @file deque.h * @author wenjf (Orig5826@163.com) - * @brief + * @brief * @version 0.1 * @date 2024-06-23 - * + * * @copyright Copyright (c) 2024 - * + * */ #ifndef _DEQUE_H_ #define _DEQUE_H_ @@ -25,10 +25,10 @@ struct _deque struct _deque_node* _head; // 头节点 struct _deque_node* _tail; // 尾节点 - uint32_t _obj_size; // 元素大小 - uint32_t _size; // 栈大小 - uint32_t _capacity; // 总容量 - uint32_t _ratio; // 扩展比率 + uint32_t _obj_size; // 元素大小 + uint32_t _size; // 栈大小 + // uint32_t _capacity; // 总容量 + // uint32_t _ratio; // 扩展比率 // kernel bool (*push_back)(struct _deque* self, void* obj); diff --git a/src/deque.c b/src/deque.c index 396d1c0..a51bea9 100644 --- a/src/deque.c +++ b/src/deque.c @@ -39,16 +39,16 @@ bool deque_push_back(struct _deque* self, void* obj) self->_tail = new_node; self->_head = new_node; } - new_node->prev = self->_tail; // step 1 - new_node->next = self->_head; // step 2 + new_node->prev = self->_tail; // step 1 + new_node->next = self->_head; // step 2 back = self->_tail; - back->next = new_node; // step 3 + back->next = new_node; // step 3 front = self->_head; - front->prev = new_node; // step 4 + front->prev = new_node; // step 4 - self->_tail = new_node; // step 5 + self->_tail = new_node; // step 5 self->_size += 1; return true; @@ -83,16 +83,16 @@ bool deque_push_front(struct _deque* self, void* obj) self->_tail = new_node; self->_head = new_node; } - new_node->prev = self->_tail; // step 1 - new_node->next = self->_head; // step 2 + new_node->prev = self->_tail; // step 1 + new_node->next = self->_head; // step 2 back = self->_tail; - back->next = new_node; // step 3 + back->next = new_node; // step 3 front = self->_head; - front->prev = new_node; // step 4 + front->prev = new_node; // step 4 - self->_head = new_node; // step 5 + self->_head = new_node; // step 5 self->_size += 1; return true; @@ -122,10 +122,10 @@ bool deque_pop_back(struct _deque* self, void* obj) } else { - self->_tail = node->prev; // step 1 + self->_tail = node->prev; // step 1 front = self->_head; - front->prev = node->prev; // step 2 + front->prev = node->prev; // step 2 } free(node->obj); @@ -159,10 +159,10 @@ bool deque_pop_front(struct _deque* self, void* obj) } else { - self->_head = node->next; // step 1 + self->_head = node->next; // step 1 back = self->_tail; - back->next = node->next; // step 2 + back->next = node->next; // step 2 } free(node->obj); @@ -202,6 +202,7 @@ bool deque_insert(struct _deque* self, int index, void* obj) { return true; } + bool deque_erase(struct _deque* self, int index, void* obj) { return true;