/***依次输出链表中的各个结点***/
#include<iostream>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef char ElemType;
typedef struct LNode
{
ElemType data; //结点的数据域
LNode *next; //结点的指针域
}LNode,*LinkList;//头指针
//后插法创建链表算法
void CreateList_L(LinkList &L,int n)
{
L = new LNode;
L->next = NULL;
LNode *p,*r;
r= L;
for(int i = 0;i < n;i ++)
{
p = new LNode;
cin>>p->data;
p->next = NULL;
r->next = p;
r = p;
}
}
//算法3.11依次输出链表中各个结点的递归算法
void print(LinkList p)
{
if(p)
{
cout<<p->data<<" ";
print(p->next);
}
}
int main()
{
LNode *la,*q;
cout<<"请输入要输入的元素个数:";
int n;
cin>>n;
cout<<"请输入元素:\n";
CreateList_L(la,n);
cout<<"链表中的元素为:\n";
q=la->next;
print(q);
cout<<endl;
return 0;
}
依次输出链表中的各个结点的递归算法
最新推荐文章于 2023-10-03 16:22:57 发布
该程序实现了一个递归算法,用于依次输出链表中的所有结点。首先通过后插法创建链表,然后使用递归函数`print`来遍历并打印链表中的每个元素。
摘要由CSDN通过智能技术生成