带头结点的单链表的逆置
发布时间:2022-09-16 01:40:09 255 相关标签:
输入格式:
读入n及n个整数。
输出格式:
输出逆置后的n个整数,以空格分隔(最后一个数的后面没有空格)。
#include
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList ListCreat()
{
LinkList L,tail,p;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
tail=L;
int n,i;
scanf("%d",&n);
for(i=0;i {
p=(LinkList)malloc(sizeof(LNode));
p->next=NULL;
scanf("%d",&p->data);
tail->next=p;
tail=p;
}
return L;
}
LinkList Reverse(LinkList L)
{
LinkList p;
p=L->next;
L->next=NULL;
while(p!=NULL)
{
LinkList q;
q=p->next;
p->next=L->next;
L->next=p;
p=q;
if(q)
q=q->next;
}
}
void Print(LinkList L)
{
LinkList p;
p=L->next;
int k=0;
while(p)
{
k++;
if(k==1)
{
printf("%d",p->data);
}
else
{
printf(" %d",p->data);
}
p=p->next;
}
printf("\n");
}
int main()
{
LinkList L;
L=ListCreat();
Reverse(L);
Print(L);
return 0;
}
输入样例:
5
1 2 3 4 5
运行结果如下:

文章来源: https://blog.51cto.com/u_15765782/5664573
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报