运行过一个函数,指针直接没有了
转载void sortInList(LinkList * head) {
int i;int j=0;int c=ListLength_L(*head);
struct ListNode * p;
struct ListNode * q;
p=(*head)->next;
q=p->next;
while(p){
while (q)
{
if(p->val>q->val){
i=p->val;
p->val=q->val;
q->val=i;
}
q=q->next;
}
j++;
// p=p->next; //最后一次这里p已经是NULL了,下面q再等于p的next有点说不过去
// q=p->next; //最后一次的这个运算有问题,
这里是原来的代码,发现是把最后p指向Null的时候,又执行了一次q=p->next导致的。while后面的代码就不会被执行了
if (j<=c-1)
{
p=p->next;
q=p->next;
}
else{ //这样改过之后发现确实是这个问题
p=p->next;
}
// printf("%p\n",head);
}
// printf("woshinidie");
// printf("%p",head);
}
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Visual Studio如何再次配置一个曾经配置过的C++库?
本文介绍在Visual Studio软件中调用C++ 各种配置、编译完毕的第三方库的方法~
Visual Studio VS C++ 第三方库 开发环境