- 博客(4)
- 收藏
- 关注
原创 C++——面向对象设计总结
我们知道,如果类内定义运算符重载,一般来说操作数的顺序是不可交换的比如下面的这个例子private:int num;public://左操作数只能为Integer类型如果想实现c=4+a这个例子,就必须在类外定义运算符重载函数public:int num;public://可交换//传入参数时能发生隐式转换,4转换为Integer类型类外定义的运算符重载函数虽然可交换,但也有个问题,那就是不能访问私有数据,要访问就必须要设置为公有类型,这对面向对象设计的信息封装带来了问题。
2024-07-03 10:19:36
604
原创 排序算法集合
算法的大致过程是对于一个无序序列,找到一个“哨兵数”,将序列中所有比哨兵数小的数字都在哨兵数的左边,所有比哨兵数大的数字都在哨兵数的右边;归并排序(Merge Sort)是一种基于分治思想的排序算法,它将待排序的数组分成两部分,分别对这两部分递归地进行排序,最后将两个有序子数组合并成一个有序数组。归并排序的基本思路是将待排序的数组分成两个部分,分别对这两部分进行排序,然后将排好序的两部分合并成一个有序数组。择好哨兵,然后从序列左端开始寻找第一个比n大的数字,从右端选取第一个比n小的数字,然后交换这两个数;
2024-01-15 03:22:52
328
原创 链表及其操作
如果我们想从单链表中删除现有结点 cur,可以分两步完成:1.找到 cur 的上一个结点 prev 及其下一个结点 next;2.接下来链接 prev 到 cur 的下一个节点 next。
2024-01-09 19:08:42
311
原创 指针系列详解
若sum([0,right]) >= target,那么移出一个元素,sum仍可能>=target,因此,我们要判断[1,right],[2,right]...,[right,right]的和,必有left使得[left,right]的和=target,那么此时就是就没有必要再增加left了,我们再判断下一个区间[0,right+1](注意这里左边是0)固定,right递增,[left, right]符合条件(该题是区间和>=target)时,进行3。
2024-01-09 19:08:23
730
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人