- Generic
- Unit tested
- Terminating errors
- Documented
General overview:
-
- Initialization
- Insertion
- Deletion
- Searching
- Contains
- Pre order traversal
- In order traversal
- Post order traversal
- Get Size
- Is Empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Searching
- Contains
- Pre order traversal
- In order traversal
- Post order traversal
- Breadth first traversal
- Get Size
- Is Empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Searching
- Contains
- Pre order traversal
- In order traversal
- Post order traversal
- Get Size
- Is Empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Searching
- Contains
- Get Size
- Is Empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Searching
- Contains
- Get Size
- Is Empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Add word
- Remove Word
- Contains Word
- Auto completion
- Generate suggestions
- Print words
- Clear
- Destroy
-
- Initialization
- Add node
- remove node
- add edge
- remove edge
- Contains node
- Contains edge
- Get size
- Is empty
- Depth first traversal
- Breadth first traversal
- Topological sort
- Check if node is a part of cycle
- Graph Contains Cycles
- Clear
- Destroy
-
- Initialization
- Add node
- remove node
- add edge
- remove edge
- Contains node
- Contains edge
- Get edge weight
- Get size
- Is empty
- Shortest distance (Dijkstra's algorithm)
- Shortest path (Dijkstra's algorithm)
- Minimum spanning graph (Prim's algorithm)
- Check if node is a part of cycle
- Graph Contains Cycles
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Search for value
- Search for key
- Contains
- Transform to value array
- Transform to entry array
- Get size
- Is empty
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Search
- Contains
- Transform to array
- Get size
- Is empty
- Clear
- Destroy
- String
- Initialization
- Append character
- Add character at index
- Update character
- Remove character
- Append char array or string
- Change string by another char array or string
- Get character index
- Get character at index
- Is sub string of another char array or string
- Convert to char array
- Convert to char array between specific range
- Is equal to char array or to string
- Compare with char array or with string
- Get length
- Trim, trim start, and trim end
- Custom trim, trim start, and trim end
- Scan input
- Split
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Contains
- Get
- Get index and get last index
- Transform to array and sub array
- Sort
- Get length
- Is empty
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Contains
- Get
- Get index
- Transform to array
- Get length
- Is empty
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Get
- Get index
- Get item
- Get at index
- Get first and last
- Contains
- Transform to array
- Get length
- Is empty
- Clear
- Destroy
-
- Initialization
- Insertion
- Deletion
- Get
- Get index
- Contains
- Add row at last and at index
- Add column at last and at index
- Remove row at index
- Remove column at index
- Get number of rows
- Get number of columns
- Get number of items
- Is empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Get first and second
- Set first and second
- Set first and second without freeing the old elements
- Swap elements
- Destroy
-
- Initialization
- Push
- Pop
- Peek
- Contains
- Is equal to another stack
- Transform to array
- Get length
- Is empty
- Clear
- Destroy
-
Priority queue implemnted using binary heap
- Initialization
- Enqueue
- Dequeue
- Peek
- Get length
- Is empty
- Transform to array
- Clear
- Destroy
-
- Initialization
- Insert front and end
- Get front and end
- Peek front and end
- Get length
- Is Empty
- Transform to array
- Clear
- Destroy
Function | Complexity | Comments |
---|---|---|
reverse array | O (n) | |
get most frequent value A | O (n ^ 2) | this function will use a resizable array to store the repeated values |
get most frequent value H | O (n) | this function will use a hash map to store the repeated values |
print array | O (n) | this function will need a helper printing function |
resize array | O (n) | |
array resize and copy | O (n) | this function will allocate a new array with the new length and then it will copy the values in the original array into the new one |
array resize and copy of range | O (k) and k is the length of the copying range | this function will allocate a new array with the new length and then it will copy the values between the provided into the new array |
array copy | O (n) | this function will allocate a new array then it will copy the values in the original array into the new one |
array copy of range | O (k) and k is the length of the copying range | this function will allocate a new array then it will copy the values between the provided range into the new array |
fill array | O (n) | |
fill array in range | O (k) and k is the length of the range | |
compare arrays | O (n) | |
compare arrays in range | O (k) and k is the length of the range | |
array mismatch | O (n) | |
array mismatch in range | O (k) and k is the length of the range | |
array anagrams S | O (n log(n)) | this function will sort the array first to determine if they are equals |
array anagrams H | O (n) | this function will use a hash map the compare the arrays |
array remove duplicates A | O (n ^ 3) | this function will use a resizable array to detect the duplicates |
array remove duplicates H | O (n ^ 2) | this function will use a hash map to detect the duplicates |
array count values | O (n) | |
is sub array | O (n ^ 2) | |
array get index | O (n) | |
array contains | O (n) | |
array remove at index | O (n) | |
array sort | O (n log(n)) | this function will use quick sort algorithm to sort the array, note that quick sort complexity can be O (n ^ 2) |
array get first | O (n) | |
array get last | O (n) | |
array get all | O (n) | |
array binary search | O (log(n)) | |
array is palindrome | O (n) | |
array is rotation of an array | O (n) | |
array update element | O (1) | |
array add | O (n) | |
array add all | O (n) | |
array swap two indices | O (1) |
Function | Complexity | Comments |
---|---|---|
is sub string | O (n ^ 2) | |
reverse words | O (n) | |
custom trim start | O (n ^ 2) | |
trim start | O (n ^ 2) | |
custom trim end | O (n) | |
trim end | O (n) | |
custom trim | O (n ^ 2) | |
trim | O (n ^ 2) | |
contains | O (n) | |
remove character | O (n) | |
is integer | O (n) | |
is floating point | O (n) | |
sum characters ASCII | O (n) | |
hash char array | O (n) | this function actually will return the sum the the characters ASCII |
generate char array | O (n) | this function will allocate a new char array then it will copy the original char array into the new one |
generate char pointer | O (1) | this function will generate a char pointer to a character |
is alphabet C | O (1) | this function will take a character value then it will check if it's an alphabet character |
is alphabet | O (1) | this function will take a character pointer then it will check if it's an alphabet character |
comparison function P | O (1) | this function will take two character pointers then it will compare there ASCII values |
comparison function | O (1) | this function will take two character value then it will compare there ASCII values |
split S | O (n) | this function will split the char array into strings vector |
split C | O (n) | this function will split the char array into char arrays vector |
most repeated character | O (n) | this function will use a hash map |
Function | Complexity | Comments |
---|---|---|
binary search | O (log(n)) | the log is to base 2 |
ternary search | O (log(n)) | the log is to base 3 |
linear search | O (n) | |
jump search | O (sqrt(n)) | |
exponential search | O (log(i)) and i represents the length of searching area ) |
Function | Complexity | Comments |
---|---|---|
bubble sort | O (n ^ 2) | in best case the complexity could be O ( n ) |
selection sort | O (n ^ 2) | |
insertion sort | O (n ^ 2) | in best case the complexity could be O ( n ) |
merge sort | O (n log(n)) | there are two implementations first one with space complexity O ( n ) and worst case time complexity O ( n log(n) ), and the another one with space complexity O ( 1 ) and worst case time complexity O ( n ^ 2 ) |
quick sort | O (n log(n)) | in the worst case the complexity could be O (n ^ 2) |
heap sort | O (n log(n)) | |
counting sort A | O (n) | this type of sorting works only on unsigned integers, note this function will use an array to count the values so it will allocate an extra memory |
counting sort H | O (n) | this type of sorting works only on unsigned integers, note this function will use a hashmap so it will use less memory that the array implementation |
- Get number of digits
- Transform to char array
- Max int
- Min int
- Compare integers
- Compare integers reverse
- Compare integers pointers
- Compare integers pointers reverse
- Generate integer pointer from another integer pointer
- Generate integer pointer from an integer value
- Integer hash function
- Sum two integers
- Sum array of integers
-
- Initialization
- Read file as string or as char array
- Read file lines
- Read file using a delimiter
- Count lines
- Read a specific line as a string or a char array
- Write a string or a char array
- Append a string or a char array at the end of the file
- Append a string or a char array at the end of a specific line
- Add a string or a char array at a specific line index
- Update a specific line using a string or a char array
- Remove a specific line
- Change file
- Clear the text file
- Destroy
-
You should pass stdin file to the function to scan the input.
- Scan String
- Scan char array
- Scan character
- Scan integer
- Scan long
- Scan long long
- Scan short
- Scan double
- Scan float
The errors codes generated by summing the words ASCII values of the characters and multiply every character value by it's
( index + 1 )
.
The first four error code numbers are the sum of the "DATA_STRUCTURE" characters,
and the rest of the error code is the sum of the error enum.
ex: INVALID_ARG is 4987.
Error | Error code | Message |
---|---|---|
FAILED_ALLOCATION | -833811484 | "The %s allocation in %s failed." |
FAILED_REALLOCATION | -833814245 | "The %s reallocation in %s failed." |
FAILED_COPY | -83385167 | "Copying %s in %s failed." |
INVALID_ARG | -83384987 | "The passed arg %s in %s is invalid." |
NULL_POINTER | -83386157 | "The %s pointer in %s is NULL." |
OUT_OF_RANGE | -83385991 | "The passed index is out of the %s range." |
EMPTY_DATA_STRUCTURE | -833816740 | "The passed %s pointer is empty." |
SOMETHING_WENT_WRONG | -833816834 | "Can't %s in %s." |