BufferInputStream和BufferOutputStream(带缓存的字节流)
双指针法通过两个指针的协同移动,在单次遍历中完成需要多重循环的任务。主要分为两种类型:
从这章开始,在Go基础语法里难度就开始上来了 在学习函数与方法前,先弄明白指针是很重要的。
因为go的底层其实是新创建了一个[]byte{}类型的切片,将变量str中的指针指向了新的内存空间地址(hello go)。原来的str存储的值(hello w...
类型形参即:出现在模板参数列表中,根在class或者typename之类的参数类型名称
在实现尾插前我们需要找到链表的尾部, 哨兵位头结点的前驱指针便是尾节点tail,再让tail的后继指针指向要尾插的新节点newnode,newnode的前驱指针...
再分析⼀下,对象中是否有存储指针的必要呢,Date实例化d1和d2两个对象,d1和d2都有各⾃独⽴的成员变量_year/_month/_day存储各⾃的数据,但...
引用的出现是为了优化指针在某些场景下的的繁琐,而不是为了取代指针,和指针是相辅相成的
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。
在底层,引用通常是通过指针来实现的。编译器会将引用处理为常量指针(指向不可改变的指针),虽然从语言层面我们不这么看待它,但为了实现引用的功能,编译器在背后做的事...
https://leetcode.cn/problems/univalued-binary-tree/description/
与单向链表相比,双向链表的节点结构更加复杂。单向链表的节点通常只包含一个数据域和一个指针域(指向后继节点),而双向链表的节点除了数据域之外,还包含两个指针域,一...
的距离都缩减⼀步,因此在慢指针移动⼀圈之前快,指针肯定是可以追上慢指针的,⽽快指针速度是慢指针的两倍,因此有如下关系是:
本篇博客深入解析了经典的链表OJ习题,旨在帮助读者掌握链表操作的核心技巧与解题思路,如快慢指针、双指针等。通过对典型例题的剖析,助你巩固数据结构基础。
上面是一个指针变量的声明,p先与*结合,说明p是一个指针变量,然后指针指向的是⼀个大小为10个整型的数组。所以p是 ⼀个指针,指向⼀个数组,叫数组指针。
当指针变量指向⼀块区域的时候,我们可以通过指针访问该区域,后期不再使⽤这个指针访问空间的时候,我们可以把该指针置为NULL。因为约定俗成的⼀个规则就是:只要是N...
qsort是C语言中的一个库函数(quick sort 底层使用的是快速排序的思想)。
https://leetcode.cn/problems/remove-element/description/
在讲解代码前,我们先理解什么是“栈”。栈是一种特殊的“线性数据结构”,它的核心特点是“后进先出”(LIFO,Last In First Out)。 可以把栈想象...