对计算机考研数据结构考点还不熟悉的同学们赶紧看过来吧!小编以“尾插法建表”为例,为大家整理了有关2024计算机考研数据结构考点的内容,具体如下:
2024计算机考研数据结构高频考点:尾插法建表
  尾插法建表:该方法是将新结点插到当时链表的表尾上,为此,必须增加一个尾指针r,
  使其始终指向当时链表的尾节点。
  void CreateListR(LinkList*&L,int a[],int n)
  {
  LinkList*s,*r;//s是指向新结点的指针,r是指向当时链表尾节点的指针
  L=(LinkList*)malloc(sizeof(LinkList));//创建头结点
  r=L;//*r始终指向尾节点,开始时指向头结点
  for(int i=0;i
  {
  s=(LinkList*)malloc(sizeof(LinkList));
  s->data=a[i];
  r->next=s;//将*s插入*r之后
  r=s;
  }
  r->next=NULL;//尾节点next域置为NULL
  }
  尾插法与头插法最大的不同就在于,头插法只需要一个结点指针,而尾插法需要两个结点指针(不包含指向头结点的指针),多的那一个指针就是指向当时链表尾节点的尾指针,先记住这个不同点,然后我们再来看看代码部分。
  和头插法相同的部分就不再重复了,r=L;这一句如果大家真正掌握了上述的话,我想写出来是不费吹灰之力的,没有吸收结点时,尾指针肯定是要指向头结点的,
  r->next=s的意思不就是将s所指向的结点作为r所指向的结点的后继么?这是什么?这不就是尾插法初衷么?尾插法不就是希望新加入的结点时作为当时链表的尾节点么?
  r=s;可不要小看了这一句噢,看似简单,却有深意滴,我们可以这样想,尾插法就是新吸收的结点作为当时链表的尾节点,而尾指针就是指向当时链表的尾节点的,那上一步中已经将s所指向的结点作为了当时链表的尾节点,那么现在是不是就应该让尾指针指向它呢?那是必须的。
  本文内容整理于网络仅供参考。
  以上就是【2024计算机考研数据结构高频考点:尾插法建表】的全部内容,如果你想要学习更多考研方面的知识,欢迎大家前往高顿考研考试频道!
  小编为2024考研的小伙伴们准备了丰富的学习资料,点击下方蓝色图片即可领取哦~
考研备考资料


展开全文