zoukankan      html  css  js  c++  java
  • 从尾部到头部打印链表

    从尾部到头部打印链表,由于递归,比较简单,所以方法1,使用递归,

    #include<stdio.h>
    #include<stdlib.h>
    #include<stack>
    struct LinkNode {
        int data;
        struct LinkNode *next;
    };
    
    struct LinkNode *createList()
    {
        int len = 0;
        printf("input list len\n");
        scanf("%d", &len);
        printf("input list elements\n");
        struct LinkNode *head = NULL;
        struct LinkNode *p = head;
        for (int i = 0; i < len; i++) {
    	int k;
    	scanf("%d", &k);
    	struct LinkNode *e = (LinkNode *) malloc(sizeof(LinkNode *));
    
    	e->data = k;
    	e->next = NULL;
    	if (head == NULL) {
    	    p = head = e;
    	    continue;
    	}
    	p->next = e;
    	p = p->next;
    
        }
        return head;
    }
    
    void printLinkList(struct LinkNode *head)
    {
        if (head == NULL) {
    	return;
        }
        printLinkList(head->next);
        printf(" %d ", head->data);
    }
    
    void printLinkByStack(struct LinkNode *head)
    {
        std::stack < struct LinkNode *>st;
        if (head == NULL) {
    	return;
        }
        struct LinkNode *p = head;
        while (p != NULL) {
    	st.push(p);
    	p = p->next;
        }
    
        while (!st.empty()) {
    	struct LinkNode *e = st.top();
    	st.pop();
    	printf(" %d", e->data);
        }
        printf("\n");
    }
    
    
    int main()
    {
        struct LinkNode *head = NULL;
        head = createList();
        printf("recursion\n");
        printLinkList(head);
        printf("\n");
    
        printf("stack");
        printLinkByStack(head);
        printf("\n");
    
    }
    
    

    使用递归的时候,当链表的长度过长的时候,

    回造成调用栈的溢出,

    作者: 盛夏落木

    出处: https://www.cnblogs.com/wanshuafe/

    关于作者:专注云存储,文件系统领域,请多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(wanshuafe@163.com)咨询.

  • 相关阅读:
    洞察僵尸网络的4条关键线索,你知道吗?
    数据即服务(DaaS)的好处和趋势
    AIOT:什么是智联网,它是未来吗?
    渐变略过效果
    页面头部banner动画效果
    小三角
    监测屏幕宽度
    开关效果
    高级轮播
    手机端跳转页面指定楼层
  • 原文地址:https://www.cnblogs.com/wanshuafe/p/11553393.html
Copyright © 2011-2022 走看看