标题:有关链表(输入输出数据,并删除一个数据)的问题,head=p1和p1=head的区别 ...
只看楼主
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:0 
回复 28楼 书生牛犊
奥,我发现我说错了。p1=head是把head存储的值(即头指针指向的的结点的地址)赋值给p1的。
2016-09-13 16:23
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:0 
回复 30楼 linlulu001
恩恩,p的值每次重新赋值就解决了。但我要一次性删除其中几个结点要怎样改del函数呢?
2016-09-13 16:48
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:5 
回复 32楼 弟大勿勃
struct student *del(struct student *head,int num)
 {
     struct student *p1,*p2,*temp;
     int flag=0;
     if(head==NULL)
     {
         printf("\nThis list is null!\n");
        return p1;
     }
     p1=head;                                     //为什么这里是p1指向head而不是head指向p1            
loop:     while(p1->num!=num && p1->next!=NULL)               
      {
          p2=p1;                                         //
         p1=p1->next;                                //
     }
      if(p1->num==num)
      {
          if(p1==head)
          {
              head=p1->next;
              temp=p1;
              p1=p1->next;
              free(temp);
          }
          else
          {
          p2->next=p1->next;
          temp=p1;
          p1=p2->next;
          free(temp);
          }
          printf("\nDeleat NO:%d succesed!\n",num);
          n=n-1;
          flag=1;
      }
      if(p1!=NULL)goto loop;
     if(!flag)
     {
         printf("%d not been found!\n",num);
     }
    return head;
 }
 试试这个,我在我的函数体里试了还可以。
2016-09-13 17:47
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:0 
回复 32楼 弟大勿勃
一次性删除几个结点???
能不能举个例子。
2016-09-13 19:27
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:0 
回复 34楼 linlulu001
就是说当程序执行到删除命令时,我同时输入任一个num,这任一个num都同时被删除。
2016-09-13 20:47
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:0 
回复 33楼 ehszt
谢谢额,这样也能行吧,不过会不会占更多内存呢?
我想问一下如果要同时输入多个num并一次性删除这些num怎么实现呢?
2016-09-13 20:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-468720-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.762188 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved