c 语言 递归法倒叙打印链表的节点
来源:互联网 发布:轩辕传奇辅助软件 编辑:程序博客网 时间:2024/06/05 22:38
#include<stdio.h>
#include<stdlib.h>
//单链表有头结点的链表
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *next;
}Node,*LINK;
LINK create()//创建一个链表
{
LINK phead=(LINK)malloc(sizeof(Node));
LINK pend,pnew;
ElemType data;
phead->next=NULL;
pend=phead;
printf("请输入数据:\n");
scanf("%d",&data);
while(data!=0)
{
pnew=(LINK)malloc(sizeof(Node));
pnew->data=data;
pnew->next=NULL;
pend->next=pnew;
pend=pnew;
scanf("%d",&data);
}
return phead;
}
void display(LINK phead)//遍历链表
{
LINK ptemp=(LINK)malloc(sizeof(Node));
ptemp=phead->next;
while(ptemp!=NULL)
{
printf("%d ",ptemp->data);
ptemp=ptemp->next;
}
printf("\n");
}
void addNode(LINK phead,int value)
{
LINK pnew=(LINK)malloc(sizeof(Node)),p;
pnew->next=NULL;
pnew->data=value;
if(phead->next==NULL)
phead->next=pnew;
else
{
p=phead;
while(p->next!=NULL)
{
p=p->next;
}
p->next=pnew;
}
}
void printContrry(LINK phead)//递归法倒叙打印链表的节点
{
LINK p=phead->next;
if(p==NULL)
{
return ;
}
else
printContrry(p);
printf("%d ",p->data);
}
int main()
{
LINK phead=(LINK)malloc(sizeof(Node));
int data=0;
phead=create();
display(phead);
printf("\n倒叙打印的链表:");
printContrry(phead);
//display(phead);
return 0;
}
#include<stdlib.h>
//单链表有头结点的链表
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *next;
}Node,*LINK;
LINK create()//创建一个链表
{
LINK phead=(LINK)malloc(sizeof(Node));
LINK pend,pnew;
ElemType data;
phead->next=NULL;
pend=phead;
printf("请输入数据:\n");
scanf("%d",&data);
while(data!=0)
{
pnew=(LINK)malloc(sizeof(Node));
pnew->data=data;
pnew->next=NULL;
pend->next=pnew;
pend=pnew;
scanf("%d",&data);
}
return phead;
}
void display(LINK phead)//遍历链表
{
LINK ptemp=(LINK)malloc(sizeof(Node));
ptemp=phead->next;
while(ptemp!=NULL)
{
printf("%d ",ptemp->data);
ptemp=ptemp->next;
}
printf("\n");
}
void addNode(LINK phead,int value)
{
LINK pnew=(LINK)malloc(sizeof(Node)),p;
pnew->next=NULL;
pnew->data=value;
if(phead->next==NULL)
phead->next=pnew;
else
{
p=phead;
while(p->next!=NULL)
{
p=p->next;
}
p->next=pnew;
}
}
void printContrry(LINK phead)//递归法倒叙打印链表的节点
{
LINK p=phead->next;
if(p==NULL)
{
return ;
}
else
printContrry(p);
printf("%d ",p->data);
}
int main()
{
LINK phead=(LINK)malloc(sizeof(Node));
int data=0;
phead=create();
display(phead);
printf("\n倒叙打印的链表:");
printContrry(phead);
//display(phead);
return 0;
}
0 0
- c 语言 递归法倒叙打印链表的节点
- c语言 字符串倒叙算法
- C语言实现句子里的单词倒叙输出
- C语言实现 从尾到头打印链表每个节点的值(链表学习 二)
- 链表的插入 删除 排序 倒叙
- 递归从尾到头打印链表每个节点的值
- 四种倒叙打印出的效果..
- C语言 打印从根节点到叶节点的所有路径
- C语言实现链表节点的插入和删除
- C语言实现链表节点的插入和删除
- C语言 打印路径节点值的和为指定和的所有路径
- 重学数据结构 简单链表 倒叙,正序插入、常规显示、递归显示
- 【C语言】查找链表的中间节点及倒数第K个节点
- 求二叉树的前中后序递归、迭代,树的叶子节点,高度(c语言)
- C/C++ | 20-7链表,单链表的建立,把’a'–’z’26个字母插入,倒叙,打印
- 递归之倒叙输出
- 一个链表创建、反转、打印的C语言代码
- C语言入门:删除链表节点
- elasticsearch2.1部署
- TQ210裸机编程——按键点灯 (二)
- 【hdu 3065】病毒侵袭持续中(AC自动机)
- 使用Mahout实现协同过滤 spark
- Android应用进程防杀指南3-JobService
- c 语言 递归法倒叙打印链表的节点
- H.264流媒体协议格式中的Annex B格式和AVCC格式深度解析
- POJ1273&&HDU1532-Drainage Ditches
- Caffe 实践DeepID(人脸识别)
- poj 1576 A/B
- 关于error LNK2019: 无法解析的外部符号 __imp__WSAStartup@8 __imp__gethostbyname@4 __imp__gethostbyname@4 __imp__
- struts2 s:select 标签
- poj 3272
- c++第三周