• 递归操作链表


      C:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct Node {
        int val;
        struct Node * next;
    };
    
    void CreateList(struct Node ** head) {
        int v;
        if(scanf("%d", &v)) {
            *head = (struct Node*)malloc(sizeof(struct Node));
            (*head)->val = v;
            (*head)->next = NULL;
            CreateList(&(*head)->next);
        }
    }
    
    void PositivePrint(struct Node * head) {
        if (head) {
            printf("%d ", head->val);
            PositivePrint(head->next);
        }
    }
    
    void InversePrint(struct Node * head) {
        if (head) {
            InversePrint(head->next);
            printf("%d ", head->val);
        }
    }
    
    void Destory(struct Node ** head) {
        if (*head) {
            Destory(&(*head)->next);
            free(*head);
        }
    }
    
    int main()
    {
        Node * head;
    
        CreateList(&head);
        PositivePrint(head);
        InversePrint(head);
        Destory(&head);
    
        return 0;
    }

      C++:

    #include <iostream>
    
    struct Node {
        int val;
        Node * next;
        Node() {}
        Node(int v) : val(v), next(NULL) {}
        ~Node() { delete next; }
    };
    
    void CreateList(Node * & head) {
        int v;
        if(std::cin >> v) {
            head = new Node(v);
            CreateList(head->next);
        }
    }
    
    void PositiveShow(Node * head) {
        if(head) {
            std::cout << head->val << ' ';
            PositiveShow(head->next);
        }
    }
    
    void InverseShow(Node * head) {
        if(head) {
            InverseShow(head->next);
            std::cout << head->val << ' ';
        }
    }
    
    int main()
    {
        Node * head;
    
        CreateList(head);
        PositiveShow(head);
        InverseShow(head);
    
        return 0;
    }
    

      

  • 相关阅读:
    task-clph
    遍历数组的方式
    iOS事件处理之七种手势
    quatz2d使用注意点
    iOS 细碎知识整理
    九宫格算法图示
    mac10.12的Cocopods安装使用
    静态库冲突的解决办法:duplicate symbol
    ceshi
    xmpp4-总览
  • 原文地址:https://www.cnblogs.com/darkchii/p/8598864.html
Copyright © 2020-2023  润新知