Пример #1
0
void BSTree::reverseOrder(BSTNode* root, void(*f)(int)){
    if(root != NULL){
        reverseOrder(root->getRightChild(), f);
        f(root->getContents());
        reverseOrder(root->getLeftChild(), f);
    }
}
Пример #2
0
size_t MIDIParse_Header(MIDI_HEADER_CHUNK_t* header, void* data, uint32_t size)
{
    uint8_t* ptr = (uint8_t*)data;
    ptr = (uint8_t*)findSubString( (char*)data, (char*)MIDI_HEADER_STRING, MIDI_TRACK_BUFFER_SIZE);

    if (ptr)
    {
        uint16_t* tmp;
        tmp = (uint16_t*)&ptr[MIDI_HEADER_FMT];
        reverseOrder( (char*)tmp, 2);
        header->format = *tmp;

        tmp = (uint16_t*)&ptr[MIDI_HEADER_TRACK_COUNT];
        reverseOrder((char*)tmp, 2);
        header->trackCount = *tmp;

        tmp = (uint16_t*)&ptr[MIDI_HEADER_PPQ];
        reverseOrder((char*)tmp, 2);
        header->PPQ = *tmp;

        uint8_t* diff = ptr;
        diff = (uint8_t*)((uint8_t*)diff - (uint8_t*)(data));

        return  (size_t)(diff);
    }

    return 0;
}
Пример #3
0
//Returns the pointer to the first byte of the track data
void* MIDIParse_Track(MIDI_TRACK_CHUNK_t* track, void* data, uint32_t size)
{
    char* ptr = (char*)findSubString( (char*)data, (char*)MIDI_TRACK_STRING, size);
    if (ptr)
    {
        uint32_t* tmp;
        tmp = (uint32_t*)&ptr[MIDI_TRACK_LENGTH];
        reverseOrder( (char*)tmp, 4);
        track->length = *tmp;
        //MIDI_Printf("TRACKLENG: ", track->length);
        return &ptr[MIDI_TRACK_LENGTH+4];
    }

    return 0;
}
Пример #4
0
int main(int argc, char **argv)
{
    int n = 10;

    if(argc == 2)
    {
        n = atoi(argv[1]);
    }
    else
    {
        printf("Use './listtest n'. Setting n = %d as default\n", n);
    }

    ListElement *list = createOneElementedList(42);

    print(list);
    freeList(list);

    list = generateNRandomList(n);
    print(list);

    list = AddAtBeginAndEnd(list);
    print(list);

    list = appendAtMiddle(list);
    print(list);

    list = removeAllEqual(list);
    print(list);

    list = removeSecond(list);
    print(list);

    list = reverseOrder(list);
    print(list);

    freeList(list);
    return 0;
}
Пример #5
0
void BSTree::reverseOrder(void (*f)(int)){
    reverseOrder(root, f);
}
Пример #6
0
void BSTree::reverseOrder (void (*funPtr)(int)) {
    reverseOrder (root, funPtr);
}