mirror of
https://gitee.com/apaki/unicstl.git
synced 2025-07-04 08:06:52 +08:00
列表相关接口调试通过
This commit is contained in:
parent
496ac36ca8
commit
fcce7a9202
@ -219,7 +219,7 @@ bool list_insert(list_t list, int index, list_data_t data)
|
|||||||
list->array = array;
|
list->array = array;
|
||||||
list->capacity = capacity;
|
list->capacity = capacity;
|
||||||
}
|
}
|
||||||
memmove(&list->array[index + 1], &list->array[index], list_size(list));
|
memmove(&list->array[index + 1], &list->array[index], list_size(list) * sizeof(list_data_t));
|
||||||
list->array[index] = data;
|
list->array[index] = data;
|
||||||
list->size += 1;
|
list->size += 1;
|
||||||
return true;
|
return true;
|
||||||
@ -269,8 +269,8 @@ bool list_clear(list_t list)
|
|||||||
|
|
||||||
list_data_t list_get(list_t list, int index)
|
list_data_t list_get(list_t list, int index)
|
||||||
{
|
{
|
||||||
assert(index >= 0 && index < list_size(list));
|
assert(index >= -list_size(list) && index < list_size(list));
|
||||||
return list->array[index];
|
return index >= 0 ? list->array[index] : list->array[list_size(list) + index];
|
||||||
}
|
}
|
||||||
|
|
||||||
bool list_set(list_t list, int index, list_data_t data)
|
bool list_set(list_t list, int index, list_data_t data)
|
||||||
@ -286,7 +286,7 @@ void list_print(list_t list)
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < list_size(list); i++)
|
for (int i = 0; i < list_size(list); i++)
|
||||||
{
|
{
|
||||||
printf("%d ", list->array[i]);
|
printf("%2d ", list->array[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
@ -296,6 +296,7 @@ void list_test(void)
|
|||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
list_data_t data = 0;
|
||||||
struct _list list;
|
struct _list list;
|
||||||
list_init(&list);
|
list_init(&list);
|
||||||
|
|
||||||
@ -325,6 +326,33 @@ void list_test(void)
|
|||||||
list_print(&list);
|
list_print(&list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("----- get -----\n");
|
||||||
|
data = list_get(&list, 0);
|
||||||
|
printf("list[0] = %2d\n", data);
|
||||||
|
|
||||||
|
data = list_get(&list, 17);
|
||||||
|
printf("list[17] = %2d\n", data);
|
||||||
|
|
||||||
|
data = list_get(&list, 5);
|
||||||
|
printf("list[5] = %2d\n", data);
|
||||||
|
|
||||||
|
printf("----- like python -----\n");
|
||||||
|
data = list_get(&list, -1);
|
||||||
|
printf("list[-1] = %2d\n", data);
|
||||||
|
|
||||||
|
data = list_get(&list, -5);
|
||||||
|
printf("list[-5] = %2d\n", data);
|
||||||
|
|
||||||
|
data = list_get(&list, -18);
|
||||||
|
printf("list[-18] = %2d\n", data);
|
||||||
|
|
||||||
|
printf("----- set -----\n");
|
||||||
|
for (i = 0; i < 18; i++)
|
||||||
|
{
|
||||||
|
list_set(&list, i, i);
|
||||||
|
list_print(&list);
|
||||||
|
}
|
||||||
|
|
||||||
list_print(&list);
|
list_print(&list);
|
||||||
list_destory(&list);
|
list_destory(&list);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user