This is a simple implementation of an ArrayList in C using a struct, a pointer to the struct and a pointer to the array. The array is static and the size of the array is defined when the ArrayList is created.
-
ArrayList* ArrayCreate(int n)
: Creates an ArrayList with a size of n. -
void ArrayAppendFirst(ArrayList* list, int value)
: Add an element to the beginning of the list. -
void ArrayAppendLast(ArrayList* list, int value)
: Appends a value to the end of the array. -
void ArrayAppend(ArrayList* list, int value, int index)
: Appends a value to the array at the specified index. -
void ArrayDelete(ArrayList* list, int index)
: Deletes the element at the given index. -
void ArrayDeleteFirst(ArrayList* list)
: Deletes the first element of the array. -
void ArrayDeleteLast(ArrayList* list)
: Deletes the last element of the array. -
void ArrayPrint(ArrayList* list)
: Prints the array -
void ArrayFree(ArrayList* list)
: Frees the memory -
char* ArrayToString(ArrayList* list)
: Returns a string representation of the array
// Create an array list with maximum 10 value capacity.
ArrayList* list = ArrayCreate(10);
// Append a value to the last of the array list.
ArrayAppendLast(list, 10);
ArrayAppendLast(list, 20);
ArrayAppendLast(list, 30);
ArrayAppendLast(list, 40);
// Append a value to the first of the array list.
ArrayAppendFirst(list, 5);
// Append a value to the array list at the specified index.
ArrayAppend(list, 25, 2);
// Print the array list.
ArrayPrint(list);
// Delete a value from the array list at the specified index.
ArrayDelete(list, 3);
// Delete a value from the first of the array list.
ArrayDeleteFirst(list);
// Delete a value from the last of the array list.
ArrayDeleteLast(list);
// Print the array list.
ArrayPrint(list);
And the output is:
5 10 25 20 30 40
10 25 30
© Copyright Max Base, 2022