首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言关于单链表的函数有关问题(只为等你)

2012-04-28 
C语言关于单链表的函数问题(只为等你)void f(LinkList &L){LinkListp, q, spL-nextwhile (p!null ){q

C语言关于单链表的函数问题(只为等你)
void f(LinkList &L) 
  {

  LinkList p, q, s;
   
  p=L->next;
 
  while (p!=null ) 
  {
 
  q=p->next;
 
  while (q!=null && q->data==p->data)
 
  { s=q->next ; free(q); q=s; }
 
  p->next=q ; p=q;
  }


  主要有三大疑问 1: 函数的具体职能我没能弄懂
  2:如p->next=q 语句的含义
  3: q=p->next和 p->next=q的区别 
  4:p,q,s到底指的是结点还是当前结点的数据域

[解决办法]
1.功能是删除相邻的并相等的结点(只保留一个)
2.p->next=q的意思 是,p->next指向q。。。。
[解决办法]
3: q=p->next和 p->next=q的区别
这个就好比,是int a=10,b=11;然后运行a=b;和b=a;的区别
[解决办法]
4:p,q,s到底指的是结点还是当前结点的数据域
p,q,s指的是结点,q->data才是数据域
[解决办法]
这个函数的功能大概是将LinkList链表中的重复元素删除;
p->next=q的意思是使p的后继指向节点q;
q=p->next是使结点q指向p的后继结点;
p,q,s确切来讲,应该是指向结点的引用,实质和指针变量的功能相同...
还用什么不懂得,也可以问


热点排行