Guest User

Untitled

a guest
Sep 4th, 2013
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. #ifndef DYNAMIC_ARRAY_H
  2. #define DYNAMIC_ARRAY_H
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include "task.h"
  7.  
  8. typedef struct {
  9.   Task *array;
  10.   size_t used;
  11.   size_t size;
  12. } Dynamic_Array;
  13.  
  14. Dynamic_Array *dynamic_array_create(size_t initialSize) {
  15.   Dynamic_Array *a;
  16.   a->array = (Task *)malloc(initialSize * sizeof(Task));
  17.   a->used = 0;
  18.   a->size = initialSize;
  19.   return a;
  20. }
  21.  
  22. void dynamic_array_insert(Dynamic_Array *a, Task element) {
  23.   if (a->used == a->size) {
  24.     a->size *= 2;
  25.     a->array = (Task *)realloc(a->array, a->size * sizeof(Task));
  26.   }
  27.   a->array[a->used++] = element;
  28. }
  29.  
  30. void dynamic_array_free(Dynamic_Array *a) {
  31.   free(a->array);
  32.   a->array = NULL;
  33.   a->used = a->size = 0;
  34. }
  35.  
  36. #endif
Advertisement
Add Comment
Please, Sign In to add comment