首页 > 其他 > 详细

从尾部到头部打印链表

时间:2019-09-20 00:34:03      阅读:97      评论:0      收藏:0      [点我收藏+]

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

#include<stdio.h>
#include<stdlib.h>
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 = (LinkNode*)malloc(sizeof(LinkNode*));
       if (head == NULL ){
          printf("head is empty\n");
          return 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;
       p->next =  e ;
       p = p->next;
       
       }
       return head;
}

void printLinkList(struct LinkNode* head){
     if(head == NULL){
         return ;
     }
     printLinkList(head->next);
     printf(" %d ",head->data);
}

int main(){
    struct LinkNode* head = NULL;
    head = createList();
    printLinkList(head);
    printf("\n");

}

后续会进行优化,使用栈

从尾部到头部打印链表

原文:https://www.cnblogs.com/wanshuafe/p/11553393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!