已采纳回答 / Squirre_lMan
你好,我的理解是:clearList只是将节点删除,但是这个链表空间还在,而第一个节点储存了链表空间的地址。所以,要使用ListEmpty才可以完全删除。(根据数组推断的,仅供参考)
2017-01-09
已采纳回答 / 黑巫师0
老师讲的单链表是有表头结点的,表头结点并不存储数据,只是一个牵头作用,方便我们通过它来寻找到链表的其他所有元素。因此单链表的元素个数也不把它包括在内,第0个结点就是表头结点的下一个结点。希望对你有所帮助~
2016-12-26
已采纳回答 / 慕姐5052964
头结点前不能插入,因为它data为空,没有意义吧。头结点后面的第一个数据算0号数据,listinserthead函数是插在头结点后面的,遍历出来结果显示它的数据在第一个位置上。头结点data为空,但是指针不为null,它前面不能插入数据。最后一个结点data不为空,指针为null,它的前后都可以插入数据。get函数中不算头结点,i最小为0,这就是头结点后面的第一个数据,即0号数据,头结点data为空,或者说没有意义,所以不能get 出来。
2016-11-29
已采纳回答 / 十二楼中月自明
其实已经删除了尾节点,currentNode->next != NULL 是没有删除尾节点的,而currentNode != NULL表示这个节点为空,即已经删除了
2016-11-24
已采纳回答 / 黑巫师0
头结点只是一个牵头的作用,可以通过头结点来顺藤摸瓜找到链表中的所有元素,但本身并没存储有意义数据,所以作为前驱也就没有什么意义,因此不用头结点作前驱。希望能帮到你~
2016-10-08
已采纳回答 / 风起了_
m_pList是一个Node*对象,这是对的。next只是一个数据成员,next只是一个指向Node类型的指针,指向下一个结点“在构造函数里面已经m_pList->next = NULL”这是初始化的时候,并没有插入任何元素,当然应该置为空。插入元素之后,就不会再为空了。
2016-09-29
已采纳回答 / 黑巫师0
delete m_pList; 这个操作只是将指针m_pList所指向的内存空间释放掉,使内存重归操作系统。但m_pList的指向位置并没有改变,此位置的内存已经被释放掉了,若再用m_pList访问这块内存,系统就会崩溃出错!为了防止这种误操作所引起的崩溃出错。所以将m_pList置为NULL的安全状态,就避免这种野指针事件的发生。希望对你有所帮助~
2016-09-22
已采纳回答 / 慕粉3921911
因为索引从零开始,最后一个元素是length-1,不是length,比如说有4个元素,长度为四,索引分别为0,1,2,3,所以最后一个是4-1,而不是4
2016-09-13