对比总结为什么一般情况下链式栈不带头结点而单链表要带头结点?

如题所述

链表可以带头结点 也可以不带
带头结点一般有两个优点:1)由于开始结点的位置存放在头结点的指针域中, 使对链表第一个位置上的操作和其他位置上的操作相同,不用特殊处理
2)无论链表是否为空 头指针都是指向头结点的非空指针(空表中 头结点的指针域为空),因此 空表和非空表的处理也就统一了
对于链式栈一般不带头结点 因为栈只对第一个节点进行操纵 如果加上了头结点 意在对头结点后面的结点也要进行操作 反而使算法复杂 所以设置头指针即可
温馨提示:答案为网友推荐,仅供参考
相似回答