Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29098
  • 博文数量: 16
  • 博客积分: 600
  • 博客等级: 上士
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-21 13:21
文章分类

全部博文(16)

文章存档

2011年(1)

2008年(15)

我的朋友
最近访客

分类: C/C++

2008-03-09 15:20:37

头结点的作用浅析

 

为什么要在链表中放置头结点?

 

这是为了让我们的对链表的很多操作能统一起来.就拿单链表来说吧.它的插入元素操作,我们如何让它把在插入

第一个元素和插入其它位置元素能够用上比较简单的while代码表示?

 

我们只要一比较就会知道,这两种不同位置的插入是有差别的.,设想如果用一个头结点来表示的话,并且插入元

素时,总是去它的第i-1个结点的位置,这样第一个结点(首结点)它的第i-1个结点就是head,只要我们对while

环的起点控制正确了.总让它滞后一个位置,如下列代码:

 

         int location=1;

 

         Node* pin=head;//pin移动一次,指向i,pin最后一定指向第i-1个结点

 

         while(location反正i总是大于等于1

 

         {

 

                   pin=pin->next;

 

                   location++;//循环执行i-1

 

         }

 

这只是一个查找的过程,这是一个子过程而已,其它的操作都要以它为基础

阅读(1385) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~