list的模拟实现(一) 2024-05-27 list, windows, 数据结构 123人 已看 第二种方式:不同的模板参数表达的是不同的类,正如vector< int>和vector< double>表达的是两个不同的类。而当我们**直接访问结构体或联合体的成员(即不通过指针)时,我们使用点(.)**操作符。(下图pos坐标(中存储的是行和列)类似于节点中的_date),应该如下图注释所进行调用,const迭代器目标本身可以修改,指向的内容不能修改,类似const T* p。原生指针的++是连续的物理空间的++。,也可以是几个类互相搭配完成一件事情。,所以我就将节点指针封装成一个类,
ArrayList 和 LinkedList 的底层源码分析 2024-05-21 list, windows, 数据结构 115人 已看 根据需求判断元素大概的长度,在创建集合时指定长度,减少扩容次数,提高效率 (eg:ArrayList的有参构造) 添加数据 – ArrayList扩容的情况:LinkedList快。 添加数据 – ArrayList不扩容的情况:ArrayList快。 2.把要删除的节点的下一个节点地址赋值给上一个节点的next。 3.把要删除的节点的上一个节点地址赋值给下一个节点的prev。
【数据结构】排序详解(希尔排序,快速排序,堆排序,插入排序,选择排序,冒泡排序) 2024-05-21 算法, java, 排序算法, 数据结构, 开发语言 54人 已看 元素集合越接近有序,直接插入排序算法的时间效率越高时间复杂度:O(N^2)空间复杂度:O(1),它是一种稳定的排序算法4.稳定性:稳定希尔排序是对直接插入排序的优化当gap>1时都是预排序,目的是让数组更接近有序。当gap==1时,数组已经接近有序,这样排序就会很快。这样整体而言,可以达到优化的效果希尔排序的时间复杂度不好计算,因为gap的取值方法很多,导致很难去计算,因此在不同书上给出的希尔排序的时间复杂度都不一样冒泡排序是一种非常容易理解的排序时间复杂度:O(N^2)
2427. 公因子的数目 2024-05-23 算法, leetcode, 职场和发展, 数据结构 53人 已看 如果 x 可以同时整除 a 和 b ,则认为 x 是 a 和 b 的一个 公因子。给你两个正整数 a 和 b ,返回 a 和 b 的 公 因子的数目。解释:12 和 6 的公因子是 1、2、3、6。解释:25 和 30 的公因子是 1、5。输入:a = 25, b = 30。输入:a = 12, b = 6。
821. 字符的最短距离 - 力扣 2024-05-27 算法, leetcode, 职场和发展, 数据结构 58人 已看 给你一个字符串s和一个字符c,且c是s中出现过的字符。返回一个整数数组answer,其中且answer[i]是s中从下标i到离它的字符c的。两个下标i和j之间的为abs(i - j),其中abs是绝对值函数。
821. 字符的最短距离 - 力扣 2024-05-27 算法, leetcode, 职场和发展, 数据结构 56人 已看 给你一个字符串s和一个字符c,且c是s中出现过的字符。返回一个整数数组answer,其中且answer[i]是s中从下标i到离它的字符c的。两个下标i和j之间的为abs(i - j),其中abs是绝对值函数。
C\C++中数组指针和二维数组最强最简单粗暴深刻理解!!!一遍包过! 2024-05-17 c++, c语言, 数据结构, 开发语言 79人 已看 a[i]+j==&a[i][0]+j==&a[i][j] (注意这里和②的形式区别,②代表着在“行”元素首地址上做加减,而④已经代表着在二维矩阵的具体元素的地址上进行加减了)同时C语言规定,数组名在值上等于数组首元素地址,它是一个指向该数组首元素的指针!(a[i]+j)表示,也等于*(p[i])+j)表示。(p+i)+j)=a[i][j] (顺利推导,二维数组元素可以用。(p+i)+j)表示,也可以用a[i][j]表示,还可以用。这个C语言规定,即a==&a[i],a+1==&a[i]
STL-list 2024-05-27 c++, windows, list, 数据结构, 开发语言 112人 已看 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3. list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。4. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。
C++: 二叉搜索树及实现 2024-05-27 算法, c++, java, 数据结构, 开发语言 18人 已看 由于使用递归,所以需要取root的引用,参数就要给root,而在类外是没有办法获取作为私有的root的,因此只能把实现的细节写在private里。
C++: 二叉搜索树及实现 2024-05-27 算法, c++, java, 数据结构, 开发语言 17人 已看 由于使用递归,所以需要取root的引用,参数就要给root,而在类外是没有办法获取作为私有的root的,因此只能把实现的细节写在private里。
C++: 二叉搜索树及实现 2024-05-27 算法, c++, java, 数据结构, 开发语言 17人 已看 由于使用递归,所以需要取root的引用,参数就要给root,而在类外是没有办法获取作为私有的root的,因此只能把实现的细节写在private里。