首页 > 代码库 > 从尾到头打印链表

从尾到头打印链表

题目描述:

输入一个链表,从尾到头打印链表每个节点的值。

输入:

每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。

输出:

对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。

样例输入:
1
2
3
4
5
-1
样例输出:
5
4
3
2
1
//
//  main.c
//  从尾到头打印链表
//
//  Created by 李亚坤 on 14-9-29.
//  Copyright (c) 2014年 李亚坤. All rights reserved.
//

#include <stdio.h>

typedef struct ListElmt_    //链表元素声明
{
    void *data;
    struct ListElmt_ *next;
}ListElmt;


typedef struct List_        //链表声明
{
    ListElmt *head;
    ListElmt *tail;
    int size;
}List;

void InitList(List *list)   //初始化链表
{
    list->size = 0;
    list->head = NULL;
    list->tail = NULL;
    return;
}

int Insert_next(List *list, ListElmt *element, void *data)  // 在element元素后面插入
{
    ListElmt *new_element;
    new_element = (ListElmt *)malloc(sizeof(ListElmt));
    if (new_element == NULL) {
        return -1;
    }
    
    new_element->data = http://www.mamicode.com/data;>

从尾到头打印链表