add array swap

This commit is contained in:
2026-06-14 07:41:14 -05:00
parent a09faf4d2d
commit da792dda8a
2 changed files with 16 additions and 1 deletions

View File

@@ -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;