c++数据结构指针问题(就地逆置)

[复制链接]
查看11 | 回复1 | 2010-10-13 23:06:13 | 显示全部楼层 |阅读模式
p=head;

while(head->next!=NULL)

{

q=p;结点赋结点什么意思?

p=head->next;指针赋结点什么意思?

head->next=p->next;指针赋指针什么意思?

p->next=q;

}

head=p;

p=head;(求每一句的解释)

回复

使用道具 举报

千问 | 2010-10-13 23:06:13 | 显示全部楼层
说明你对指针的理解不太清楚。为了叙述下面的代码,我先解释指针间用等号赋值是什么意思。指针保存的其实就是一个地址,p=q表示把q的地址赋值给p,结果是p和q都指向同一块地址。我这里先不说代码的正确与否。操作前,假设指针是这样的,因为我不知道你之前的链表状态,可能有错。代码里关于链表结构的描述都是第一次循环的结果,以后的结构可以类推head->node1->node2->node3p=head;//把head的地址赋值给p,现在p指向的就是head的地址了,即p现在指向链表的头部。
while(head->next!=NULL)
{
q=p;结点赋结点什么意思?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行