数据结构问题...

将一个结点类型LNODE的单链表按逆序链接,即若原单链表中存储元素的次序为a1,a2,...an-1,an则逆序链接后变为an,an-1,...,a2,a1.编写算法实现... 将一个结点类型LNODE的单链表按逆序链接,即若原单链表中存储元素的次序为a1,a2,...an-1,an则逆序链接后变为an,an-1,...,a2,a1.编写算法实现,并在main()函数中进行调用验证 展开
 我来答
鷹弈
推荐于2018-04-30 · TA获得超过5194个赞
知道大有可为答主
回答量:1257
采纳率:0%
帮助的人:741万
展开全部
#include <stdio.h>
#include <stdlib.h>

typedef struct node
{
int data;
struct node *next;
}LinkNode, *LinkList;

LinkList Creat(LinkList head);
void Inverse(LinkList head);
void Output(LinkList head);

LinkList Creat(LinkList head)//建表
{
LinkList p = NULL;
LinkList q = NULL;

head = (LinkList) malloc (sizeof(LinkNode));
head->next = NULL;

q = head;

while (1)
{
p = (LinkList) malloc (sizeof(LinkNode));
p->next = NULL;

scanf("%d", &p->data);
if (0 == p->data)//输入0表示结束输入
{
free(p);
break;
}

q->next = p;
q = p;
}

return head;
}

void Inverse(LinkList head)//逆置
{
LinkList p = head->next;
LinkList tmp = NULL;

head->next = NULL;

while (NULL != p)
{
tmp = p->next;
p->next = head->next;
head->next = p;
p = tmp;
}
}

void Output(LinkList head)//输出
{
LinkList p = head->next;

while (NULL != p)
{
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}

int main(void)
{
LinkList head = NULL;

head = Creat(head);
Output(head);

Inverse(head);
Output(head);

return 0;
}
中研普华
2023-10-12 广告
中国行业研究网是中国较早的行业市场信息提供商之一,在中国行业资讯业界具有极高的知名度,美誉度。中国行业研究网拥有18个产业板块、100多个垂直与综合频道,涉及包括医药医疗、IT通讯、机械电子、轻工纺织、食品饮料、零售商贸、金融投资、能源矿产... 点击进入详情页
本回答由中研普华提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式