seqlink.h
#include<stdio.h>
#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;
}