[ create a new paste ] login | about

Link: http://codepad.org/O2uSUNYk    [ raw code | output | fork ]

gre - C, pasted on Oct 15:
#include <stdio.h>

struct node {
    float val;
    struct node *next;
};

void insert(struct node *insert_me, struct node *after_me)
{
    insert_me->next = after_me->next;
    after_me->next = insert_me;
}

void print_ll(struct node *ptr) {
    while (ptr != NULL) {
        printf("Current value:\t%f\n", ptr->val);
        ptr = ptr->next;
    }
    printf("\n");
}

int main(int argc, char *argv[])
{
    struct node n1, n2, n3, to_ins;
    n1.val = 1.0; n1.next = &n2;
    n2.val = 2.0; n2.next = &n3;
    n3.val = 3.0; n3.next = NULL;
    to_ins.val = 2.5; to_ins.next = NULL;


    printf("Before inserting:\n");
    print_ll(&n1);
    insert(&to_ins, &n2);
    printf("After inserting:\n");
    print_ll(&n1);

    return 0;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
Before inserting:
Current value:	1.000000
Current value:	2.000000
Current value:	3.000000

After inserting:
Current value:	1.000000
Current value:	2.000000
Current value:	2.500000
Current value:	3.000000



Create a new paste based on this one


Comments: