这是一个程序问题,怎么用C语言实现链表指针的逆转,谢谢帮忙,小女子很急。
来源:百度知道 编辑:UC知道 时间:2024/06/06 12:43:03
不知道你说的是不是指把原链表的最后一个节点弄成新链表的第一个节点,把原链表的第一个节点弄成新链表的最后一个节点,依次类推。如果不是的话,不好意思,我理解错了,你也没必要往下看了。
如果是我理解错误了题目,请对题目进行再次说明,我会关注这个问题,也许我能解决。
程序未调试,基本思想是依次读取原链表的节点,然后用使用前插法插入新链表。这样,原来链表的第一个节点是最先读取的,插入到新链表后就成了最后一个,依次类推。
#include "stdlib.h"
//定义链表节点结构体
struct StructPoint
{
int Data;
struct StructPoint *Next;
};
void main()
{
struct StructPoint *Head,*NewHead,*Tail,*Tmp,*TmpHead;
int Data=0;
//初始化表头
Head=(struct StructPoint *)malloc(sizeof(struct StructPoint));
Head->Next=0;
Tail=Head;
//尾插法构建链表
scanf("%d",&Data);
while(Data>0)
{
Tmp=(struct StructPoint *)malloc(sizeof(struct StructPoint));
Tmp->Data=Data;
Tmp->Next=0;
Tail->Next=Tmp;
&nb