add array swap
This commit is contained in:
@@ -12,6 +12,7 @@ typedef struct {
|
||||
LArray* l_array_create();
|
||||
void l_array_delete(LArray* array);
|
||||
int l_array_append(LArray* array, void* item);
|
||||
int l_array_swap(LArray* array, int indexA, int indexB);
|
||||
void l_array_clear(LArray* array);
|
||||
|
||||
#ifdef L_ARRAY_IMPLEMENTATION
|
||||
@@ -38,6 +39,16 @@ int l_array_append(LArray* array, void* item) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int l_array_swap(LArray* array, int indexA, int indexB) {
|
||||
if (array->count < (size_t)indexA || array->count < (size_t)indexB || indexA == indexB) return 1;
|
||||
|
||||
void* itemA = array->items[indexA];
|
||||
array->items[indexA] = array->items[indexB];
|
||||
array->items[indexB] = itemA;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void l_array_clear(LArray* array) {
|
||||
free(array->items);
|
||||
array->items = NULL;
|
||||
|
||||
Reference in New Issue
Block a user