c++数据结构指针问题(就地逆置)p=head;while(head->next!=NULL){q=p;结点赋结点什么意思?p=head->next;指针赋结点什么意思?head->next=p->next;指针赋指针什么意思?p->next=q;}head=p;p=head;(求每一句的解释)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 15:26:24
c++数据结构指针问题(就地逆置)p=head;while(head->next!=NULL){q=p;结点赋结点什么意思?p=head->next;指针赋结点什么意思?head->next=p->next;指针赋指针什么意思?p->next=q;}head=p;p=head;(求每一句的解释)

c++数据结构指针问题(就地逆置)p=head;while(head->next!=NULL){q=p;结点赋结点什么意思?p=head->next;指针赋结点什么意思?head->next=p->next;指针赋指针什么意思?p->next=q;}head=p;p=head;(求每一句的解释)
c++数据结构指针问题(就地逆置)
p=head;
while(head->next!=NULL)
{
q=p;结点赋结点什么意思?
p=head->next;指针赋结点什么意思?
head->next=p->next;指针赋指针什么意思?
p->next=q;
}
head=p;
p=head;(求每一句的解释)

c++数据结构指针问题(就地逆置)p=head;while(head->next!=NULL){q=p;结点赋结点什么意思?p=head->next;指针赋结点什么意思?head->next=p->next;指针赋指针什么意思?p->next=q;}head=p;p=head;(求每一句的解释)
说明你对指针的理解不太清楚.
为了叙述下面的代码,我先解释指针间用等号赋值是什么意思.指针保存的其实就是一个地址,p=q表示把q的地址赋值给p,结果是p和q都指向同一块地址.我这里先不说代码的正确与否.
操作前,假设指针是这样的,因为我不知道你之前的链表状态,可能有错.代码里关于链表结构的描述都是第一次循环的结果,以后的结构可以类推
head->node1->node2->node3
p=head;//把head的地址赋值给p,现在p指向的就是head的地址了,即p现在指向链表的头部.
while(head->next!=NULL)
{
q=p;结点赋结点什么意思?
无论这个指针指向的是int,是struct,是class或者其他什么,
只要是个指针,他就是一个地址,所以q=p就是把p地址的值传给了q,即q现在和p指向同一个结点的地址.
p=head->next;指针赋结点什么意思?
这个说法有问题了,next也是一个指针,这个和上面的没有区别,只不过next这个指针保存在head所指的这个结构体里面而已.即p现在指向头部的下一个结点.
head->next=p->next;指针赋指针什么意思?p已经是head的下一个结点了,那再取next意思就是head的下下个结点,然后赋值给head的next指针.即改变了链表结构,把head的下一个结点从链表中删除了,后面一句就是把这个结点添加到head前面.
现在的链表结构是 head->node2->node3 同时node1->node2
p->next=q;
把刚才删除的结点(紧靠head的结点插入到了head前面),现在结构是node1->head->node2->node3
}
head=p;
p=head;//这两句就是把p指向了head,由于最后p是最后插到前面的node,所以作为了新的head
这样循环的结构是,第i次循环nodei就跑到了head前面了,直到head后面没有node了,例如第2次循环结果是node2->node1->head->node3
整个循环的作用就是把链表的顺序倒过来了.

c++数据结构指针问题(就地逆置)p=head;while(head->next!=NULL){q=p;结点赋结点什么意思?p=head->next;指针赋结点什么意思?head->next=p->next;指针赋指针什么意思?p->next=q;}head=p;p=head;(求每一句的解释) 数据结构中有试写一算法,实现顺序表的就地逆置 一道数据结构的线性表题试分别用顺序表和单链表作为存储结构,实现将线性表(a0,a1,...,an-1)就地逆置的操作 ,所谓“就地”支付住空间应为O(1)(c语言) 数据结构的问题:s=p->next 的意思是什么,s有的是一个指针还是内容或者都有? 数据结构p->next 含义问题p是个指针,p->next表示p指针所指向结点的指针域. 我想问为什么不是 *p->next 来表示呢 ?p只是个指针(地址)啊, 既然结点的指针域 ,结点为什么不是*p 而是p来表示 数据结构中队列和指针的一个问题for(p=&Q.front,q=&Q.rear;*p!=*q&&total>m;p++){ //p,q为指针Dequeue(Q,ee);//(1)……//(2)}如上,我想用p指到队首,q指到对尾,然后进行了(1)的操作,Q.front就变了,那p的指 数据结构里!p || p的意思是p空吧.可是p不是头指针吗,头指针指向头结点怎么空了?原文P=L. C语言中关于指针的指针问题?对于**P指针的理解:P的指针的指针就是**P.举个例子:*P=5,指的是指针P里面的数*P=5,那么,**P的意思是说*p=5里面的数?该怎么准确理解**P? 问一道数据结构题(严蔚敏 c语言版) 函数GetElem在单链表中的实现例子如下Status GetElem_L(LinkList L,int i,ElemType &e) {// L是带头结点的链表的头指针,以 e 返回第 i 个元素p = L->next; j = 1; // p指向第 C语言的指针问题.*(p+i)是代表取值呢还是取地址?有一二维数组a[3][4]={{56,45,89,90},{13,34,56,45},{65,55,34,68}}如果我定义指针*P,指向首地址,*(p+i)就能取到数组中的值.但如果我定义指针(*p)[4],指 数据结构的问题,将指针封装在一个结构中,现在这个指针要加上一个数(指向下一个)有什么好的办法? 数据结构的小问题 p->prior->next=p->next和p->next->prior=p->prior是什么意思? C语言问题:指针变量,数组名,字符串常量的区别.设有下面的程序段:char s[ ]=china ; char * p; p=s; 则下列叙述正确的是:(A) s和p完全相同 (B)数组s中的内容和指针变量p中的内容想等(C)s数 数据结构,一种数据结构的元素集合D和他的二元关系R为:1,一种数据结构的元素集合D和他的二元关系R为:D={a,b,c,d,e,f,g,h} R={,,,,,,} 该数据结构具有 (什么) 结构?(填空题)下面简答题2,简述连 C语言指针**p是什么意思 计算机三级偏软问题22.设h指向带表头结点的循环链表,h=(a1,a2,a3),p指向循环链表中的一个结点.若p->next->next==a1(==为等于关系运算符),则p是指向___(22)___的指针.其中,p指向结点的指针域用p->next C语言指向指针的指针的问题今日我在书上看到了一个例子,我简单写一下.有一个函数a(*b) int *p; p=b;P不是指向指针的指针吗,为什么定义是不是**P C语言指针输出问题问题主要是下面输出数据的时候,如果是p