Exemplo n.º 1
0
int main() {

    dyn_array * zeroToNine = initDynArray(10);

    int toBeSorted[] = {0,9,1,8,2,7,3,6,4,5};
    int afterSorted[] = {0,1,2,3,4,5,6,7,8,9};

    int i = 0;

    (*zeroToNine).array = &toBeSorted[0];

    //sort the array
    insertionSort(zeroToNine);

    for (i = 0; i < 10; i++) {
        if (zeroToNine->array[i] != afterSorted[i]) {
            printf("%s\n", "Test Failed");
            return EXIT_FAILURE;
        }
    }

    printf("%s\n", "Test Succeded");
    return EXIT_SUCCESS;

}
Exemplo n.º 2
0
void cloneDynArray(DynArray * clone, DynArray * da) {
  int i;
  initDynArray(clone, da->size);
  clone->used = da->used;
  clone->size = da->size;
  for (i = 0; i < da->used; i++) {
    clone->array[i] = (char *)malloc(sizeof(char *));
    // char * word = (char *)malloc(sizeof(char));
    // strcpy(word, da->array[i]);
    clone->array[i] = da->array[i];
  }
}
Exemplo n.º 3
0
int main() {
    int i;
    int cap = 5;
    printf("Initializing test stack...\n");
    dynArr_p test = initDynArray(5);
    printf("There are %d elements in the test stack.\n", sizeDynArray(test));
    putchar('\n');

    printf("Adding the following series of values to the test stack:\n");
    for(i = 1; i <= cap * 2; i++) {
        printf("%d ", i);
        pushDynArray(test, i);
    }
    putchar('\n');
    putchar('\n');

    printf("Now test bag contains:\n");
    printDynArray(test);
    putchar('\n');

    if(containsDynArray(test, 6)) {
        printf("Test bag contains 6; removing it.\n");
        rmValDynArray(test, 6);
    }
    printDynArray(test);
    putchar('\n');

    printf("Adding 6 back to array in original position...\n");

    putDynArray(test, 5, 6);
    printDynArray(test);
    putchar('\n');

    printf("Popping values of the top of the stack:\n");
    while(sizeDynArray(test)) {
        printf("Popping %d...\n", topDynArray(test));
        popDynArray(test);
    }
    putchar('\n');

    printf("Destroying test stack...\n");
    freeDynArray(test);
}
Exemplo n.º 4
0
int main() {
  int _p[4] = {200, 100, 100, 100};
  
  char * word;
  DynArray * da = (DynArray *)malloc(sizeof(DynArray));
  DynArray * clone1 = (DynArray *)malloc(sizeof(DynArray));
  DynArray * clone2 = (DynArray *)malloc(sizeof(DynArray));
  DynArray * clone3 = (DynArray *)malloc(sizeof(DynArray));
  initDynArray(da, bulk_alloc);  

  for (word = strtok(srcString, " "); word ; word = strtok(NULL, " ")) {
    addDynArray(da, word);    
  }
  
  cloneDynArray(clone1, da);
  cloneDynArray(clone2, da);
  cloneDynArray(clone3, da);
  
  sysTimestampEnable();
    
  TASK_ID qsTid;
  TASK_ID bsTid;
  TASK_ID ssTid;
  TASK_ID supTid;  
  
  taskCreateHookAdd(taskCreateCallback);
  taskDeleteHookAdd(taskDeleteCallback);   
  taskSwitchHookAdd(taskSwitchCallback);
    
  supTid = taskSpawn(sup, _p[0], VX_NO_STACK_FILL, 2048*1000, supEntry, \
		  	  da, clone1, clone2, clone3, compare,0,0,0,0,0);  
      
  qsTid = taskSpawn(mqs, _p[1], VX_NO_STACK_FILL, 2048*1000, myqsortEntry, \
		  	  clone1, compare, supTid, 0,0,0,0,0,0,0);
  bsTid = taskSpawn(mbs, _p[2], VX_NO_STACK_FILL, 2048*1000, mybsortEntry, \
		  	  clone2, compare, supTid, 0,0,0,0,0,0,0);
  ssTid = taskSpawn(mns, _p[3], VX_NO_STACK_FILL, 2048*1000, mynsortEntry, \
		  	  clone3, compare, supTid, 0,0,0,0,0,0,0);      
  
  return 0;
}