Re:Will the real programmers please stand up?
by swolchok on Tuesday June 29, 2010 @06:32PM
(#1473133)
What extra code? I've got a struct definition, a print_list function, cons, and a really dumb testing driver that builds the list [1 2 3], reversing and printing it a few times throughout its construction. The line count of all that [EDIT: I meant "everything except the testing driver"] is about equal to the line count of my reverse.
[ Parent
| on HN ]
That extra code :-) First I wrote everything to manipulate a linked list and test it and then I wrote the reverse function. Since I wrote a insert at front function, the reverse function is small. I must add that I am not a fast typer.
Re:Will the real programmers please stand up?
by cabalamat on Tuesday June 29, 2010 @07:39PM
(#1473282)
How long is your reverse? Mine is 14 lines (see below), and I doubt I could code the rest in that length.
struct LinkedList {
LinkedList* next;
int data;
}
void reverseLL(linkedList* ll){
if (ll==NULL) return NULL;
LinkedList* newList;
prev = NULL;
for (;;) {
newList = malloc(LinkedList);
newList->data = ll->data;
newList->next = prev;
if (ll->next==NULL) break;
prev = newList;
ll = ll->next;
}
return newList;
}
Re:Will the real programmers please stand up?
by swolchok on Wednesday June 30, 2010 @02:09PM
(#1475638)
http://scott.wolchok.org/listrev.c is what I was satisfied with yesterday. I seem to have exaggerated slightly about the non-driver code being the same length as the reverse, but it's close.