Revision: 61176
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 2, 2012 12:32 by rtperson
Initial Code
#include <stdio.h>
#include <stdlib.h>
typedef struct timeNode timeNode;
struct Node {
int begin; /* i.e., the data part */
int end;
timeNode *next; /* ptr to the next element */
};
timeNode* addNode(timeNode *last, int begin, int end) {
timeNode *node;
node = (timeNode*)malloc(sizeof(timeNode));
node->begin = begin;
node->end = end;
node->next = NULL;
if (last != NULL) {
last->next = node;
}
return node;
}
void insertNode(timeNode *before, int begin, int end) {
timeNode *add = (timeNode*)malloc(sizeof(timeNode));
add->begin = begin;
add->end = end;
add->next = before->next;
before->next = add;
}
timeNode* insertBefore(timeNode *before, int begin, int end) {
timeNode *add = (timeNode*)malloc(sizeof(timeNode));
add->begin = begin;
add->end = end;
add->next = before;
return add;
}
timeNode* deleteNode(timeNode *toDelete) {
timeNode *retval = toDelete->next;
free(toDelete);
return retval;
}
Initial URL
Initial Description
I bit of overkill for USACO's "Milk2" algorithm training problem. This problem would be better suited to an interval tree, but here it is.
Initial Title
Linked List in C
Initial Tags
Initial Language
Haskell