mirror of
https://gitee.com/apaki/unicstl.git
synced 2025-05-18 03:51:35 +08:00
deque修改接口函数
This commit is contained in:
parent
be306bfe5a
commit
a3c60c7d38
@ -17,8 +17,7 @@ static void demo_deque_num(void)
|
||||
int temp = 0;
|
||||
uint32_t len = sizeof(data) / sizeof(data[0]);
|
||||
|
||||
deque_t deque = deque_new();
|
||||
deque_init(deque, sizeof(int));
|
||||
deque_t deque = deque_new(sizeof(int));
|
||||
deque->print_obj = print_num;
|
||||
|
||||
printf("\n\n----- demo_deque_num -----\n");
|
||||
@ -189,8 +188,7 @@ static void demo_deque_struct(void)
|
||||
struct _student temp = {0};
|
||||
uint32_t len = sizeof(data) / sizeof(data[0]);
|
||||
|
||||
deque_t deque = deque_new();
|
||||
deque_init(deque, sizeof(struct _student));
|
||||
deque_t deque = deque_new(sizeof(struct _student));
|
||||
deque->print_obj = print_struct;
|
||||
|
||||
printf("\n\n----- demo_deque_struct -----\n");
|
||||
|
@ -66,9 +66,9 @@ struct _deque
|
||||
};
|
||||
typedef struct _deque* deque_t;
|
||||
|
||||
bool deque_init(struct _deque* self, uint32_t obj_size);
|
||||
// create and free deque
|
||||
deque_t deque_new(uint32_t obj_size);
|
||||
|
||||
deque_t deque_new(void);
|
||||
void deque_free(deque_t* deque);
|
||||
|
||||
#endif
|
||||
|
50
src/deque.c
50
src/deque.c
@ -10,7 +10,7 @@
|
||||
*/
|
||||
#include "deque.h"
|
||||
|
||||
bool deque_push_back(struct _deque* self, void* obj)
|
||||
static bool deque_push_back(struct _deque* self, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
struct _deque_node* front = NULL;
|
||||
@ -54,7 +54,7 @@ bool deque_push_back(struct _deque* self, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_push_front(struct _deque* self, void* obj)
|
||||
static bool deque_push_front(struct _deque* self, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
struct _deque_node* front = NULL;
|
||||
@ -98,7 +98,7 @@ bool deque_push_front(struct _deque* self, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_pop_back(struct _deque* self, void* obj)
|
||||
static bool deque_pop_back(struct _deque* self, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
struct _deque_node* node = NULL;
|
||||
@ -135,7 +135,7 @@ bool deque_pop_back(struct _deque* self, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_pop_front(struct _deque* self, void* obj)
|
||||
static bool deque_pop_front(struct _deque* self, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
struct _deque_node* node = NULL;
|
||||
@ -172,7 +172,7 @@ bool deque_pop_front(struct _deque* self, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_back(struct _deque* self, void* obj)
|
||||
static bool deque_back(struct _deque* self, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
assert(obj != NULL);
|
||||
@ -185,7 +185,7 @@ bool deque_back(struct _deque* self, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_front(struct _deque* self, void* obj)
|
||||
static bool deque_front(struct _deque* self, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
assert(obj != NULL);
|
||||
@ -198,27 +198,27 @@ bool deque_front(struct _deque* self, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_insert(struct _deque* self, int index, void* obj)
|
||||
static bool deque_insert(struct _deque* self, int index, void* obj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_erase(struct _deque* self, int index, void* obj)
|
||||
static bool deque_erase(struct _deque* self, int index, void* obj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
int deque_index(struct _deque* self, void* obj)
|
||||
static int deque_index(struct _deque* self, void* obj)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool deque_remove(struct _deque* self, void* obj)
|
||||
static bool deque_remove(struct _deque* self, void* obj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_clear(struct _deque* self)
|
||||
static bool deque_clear(struct _deque* self)
|
||||
{
|
||||
while (!self->empty(self))
|
||||
{
|
||||
@ -227,7 +227,7 @@ bool deque_clear(struct _deque* self)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_get(struct _deque* self, int index, void* obj)
|
||||
static bool deque_get(struct _deque* self, int index, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
assert(obj != NULL);
|
||||
@ -243,7 +243,7 @@ bool deque_get(struct _deque* self, int index, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool deque_set(struct _deque* self, int index, void* obj)
|
||||
static bool deque_set(struct _deque* self, int index, void* obj)
|
||||
{
|
||||
assert(self != NULL);
|
||||
assert(obj != NULL);
|
||||
@ -259,19 +259,19 @@ bool deque_set(struct _deque* self, int index, void* obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32_t deque_size(struct _deque* self)
|
||||
static uint32_t deque_size(struct _deque* self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
return self->_size;
|
||||
}
|
||||
|
||||
bool deque_empty(struct _deque* self)
|
||||
static bool deque_empty(struct _deque* self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
return !self->size(self);
|
||||
}
|
||||
|
||||
void deque_destory(struct _deque* self)
|
||||
static void deque_destory(struct _deque* self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
self->clear(self);
|
||||
@ -282,7 +282,7 @@ void deque_destory(struct _deque* self)
|
||||
}
|
||||
}
|
||||
|
||||
void deque_print(struct _deque* self)
|
||||
static void deque_print(struct _deque* self)
|
||||
{
|
||||
assert(self != NULL);
|
||||
|
||||
@ -295,7 +295,7 @@ void deque_print(struct _deque* self)
|
||||
}
|
||||
}
|
||||
|
||||
bool deque_init(struct _deque* self, uint32_t obj_size)
|
||||
static bool deque_init(struct _deque* self, uint32_t obj_size)
|
||||
{
|
||||
// attribute
|
||||
self->_obj_size = obj_size;
|
||||
@ -328,9 +328,19 @@ bool deque_init(struct _deque* self, uint32_t obj_size)
|
||||
return true;
|
||||
}
|
||||
|
||||
deque_t deque_new(void)
|
||||
deque_t deque_new(uint32_t obj_size)
|
||||
{
|
||||
return (struct _deque*)malloc(sizeof(struct _deque));
|
||||
struct _deque* deque = NULL;
|
||||
deque = (struct _deque*)malloc(sizeof(struct _deque));
|
||||
if(deque != NULL)
|
||||
{
|
||||
if(deque_init(deque, obj_size) != true)
|
||||
{
|
||||
free(deque);
|
||||
deque = NULL;
|
||||
}
|
||||
}
|
||||
return deque;
|
||||
}
|
||||
|
||||
void deque_free(deque_t *deque)
|
||||
|
@ -17,10 +17,8 @@ static void test_deque_num(void)
|
||||
int temp = 0;
|
||||
uint32_t len = sizeof(data) / sizeof(data[0]);
|
||||
|
||||
deque_t deque = deque_new();
|
||||
deque_t deque = deque_new(sizeof(int));
|
||||
TEST_ASSERT_NOT_NULL(deque);
|
||||
|
||||
deque_init(deque, sizeof(int));
|
||||
deque->print_obj = print_num;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
@ -148,10 +146,8 @@ static void test_deque_struct(void)
|
||||
struct _student temp = {0};
|
||||
uint32_t len = sizeof(data) / sizeof(data[0]);
|
||||
|
||||
deque_t deque = deque_new();
|
||||
deque_t deque = deque_new(sizeof(struct _student));
|
||||
TEST_ASSERT_NOT_NULL(deque);
|
||||
|
||||
deque_init(deque, sizeof(struct _student));
|
||||
deque->print_obj = print_struct;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
|
Loading…
Reference in New Issue
Block a user