最赞回答 / vortesnail
node1是Node类型,Node类里面定义了Peoson data这个数据成员,首先,node1.data是一个Person对象,通过node1.data.name就调用了这个对象(Person对象)中的数据成员name。
2016-10-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
最赞回答 / Lavi_La
(1)currentnode是这个指针类型的变量,它也是需要占据一定的内存来存储数据的,存放的就是它指向内存的地址,释放掉的currentnode指向的内存,即解除currentnode和它指向的内存的关系,currentnote占据的内存还是存在的。下面是我画的图希望对你有帮助。<...图片...>(2)一般可以认为new和delete是互为对应的
2016-09-16
已采纳回答 / 慕粉3921911
因为索引从零开始,最后一个元素是length-1,不是length,比如说有4个元素,长度为四,索引分别为0,1,2,3,所以最后一个是4-1,而不是4
2016-09-13
最新回答 / 黑巫师0
老师这样定义的 int temp; 是一个整型变量,当调用删除函数是传入的实参是 &temp,是为将删除的元素能存入到temp中。你提出的 cout<<temp<<endl ; 这是是输出temp的值。要输出它的地址应该写成cout<<&temp<<endl ; 希望对你有帮助。
2016-09-12
最赞回答 / 黑巫师0
其实我也觉得应该这样,删除函数应该有判空操作,线性表为空的话,直接返回false;插入函数应该有判满操作,线性表已满时也直接返回false,这样应该更严谨一些。
2016-09-06