Skip to the content.

Linked Lists

Pointer to struct/obj

首先学习一下指针的相互赋值操作,当指针出现在等号的两侧时,代表着不同的行为,下图中p也是指针:

image-20240223135823415

只要记住,指针操作本质上是将变量存储的地址值赋给另一个变量,就可以类比理解所有的指针操作了,因此在函数中将指针变量作为参数进行传递时,就很容易知道什么时候用值语义,什么时候用引用语义了。

这块需要多练习,写出的代码不能有内存泄露(失去了对之前申请的内存的指针,并且没有释放他们)。

Linked Lists2

我们阅读C++中的定义时,可以采用从右向左的原则,举例如下:

基本上上述二者起到的作用是相同的,都是为了直接对ListNode*的对象进行修改,但是第一种*&更好,因为相比于第二种,第一种可以少很多解引用操作,使代码更为简洁。

这块需要多练习,概念并不多,可以尝试自己实现一个链表,并实现add、Remove等相关API接口。