C语言 -- 链表操作

来源:互联网 发布:看门狗2 gta5 优化 编辑:程序博客网 时间:2024/05/21 13:58

C语言单链倒序遍历递归方法和非递归方法


一 递归方法

struct list {    void *data;    int len;    struct list *next;};void reverse_deal_list(struct list *lst){    if(lst->next == NULL)    {        printf("%d\n", *((int *)lst->data));        return;    }    reverse_deal_list(lst->next);    printf("%d\n", *((int *)lst->data));}int main(int argc, char *argv[]){    struct list *lst, a, b, c;    int x = 1, y = 2, z = 3;    a.data = (void *)&x;    b.data = (void *)&y;    c.data = (void *)&z;        lst = &a;    a.next = &b;    b.next = &c;    c.next = NULL;    reverse_deal_list(lst);    return 0;}


二 非递归方法



0 0