用递归实现对链表的基本操作
一、问题描述;
由于链表操作的普通实现比较麻烦,而递归在代码的实现方面具有简洁,更符合公式化的特点。因此,选择用递归来实现对链表的操作;
二、代码实现;
<span style="font-size:18px;">//用递归操作链表
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node * next;
}LNode;
LNode * CreateLink(int n); //尾插创建
void DelLink(LNode * head, int x);//删值
void PrintLink(LNode * head);//正向输出
void PrintLinkBack(LNode * head);//逆向输出
void Search(LNode * head, int x);//查找
int main()
{
LNode * head;
int n, x;
printf("请输入你想创建的节点个数:\n");
scanf("%d", &n);
head = (LNode *)malloc(sizeof(LNode));
head->next = CreateLink(n);
PrintLi