现在的位置: 首页 > 综合 > 正文

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

2013年12月03日 ⁄ 综合 ⁄ 共 427字 ⁄ 字号 评论关闭

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;
}

二 非递归方法

抱歉!评论已关闭.