C语言 逆序打印链表(递归)

seqlink.h
#include

#pragma once


//单向链表
//双向链表
//

typedef char LinkNodeType; 

typedef struct LinkNode { 
LinkNodeType data; 
struct LinkNode* next; 
    //next = NULL 结束标志    不带环
    //next = 第一个节点位置   带环
    //
    //带头结点
    //不带头节点
} LinkNode; 
void LinkListReveserPrint(LinkNode* head);//逆序打印链表

seqlink.c

#include"seqlink.h"

void LinkListReveserPrint(LinkNode* head)

{ if(head == NULL) { //error return; } if(head->next != NULL) { LinkListReveserPrint(head->next); } printf("%c\t",head->data); return;}
void TestREVESER(){
    LinkNode* head;
    LinkListInit(&head);
    LinkListPushBack(&head,'a');
    LinkListPushBack(&head,'b');
    LinkListPushBack(&head,'c');
    LinkListPushBack(&head,'d');
    printf("逆序打印链表\n");
    LinkListReveserPrint(head);
    printf("\n");
}
test.c
int main()
{
    TestREVESER();
    return 0;
}


你可能感兴趣的:(数据结构)