数据结构
文章平均质量分 89
留恋单行路
在麦克斯韦方程组中挣扎的一名coder!
展开
-
将非负整数num转换为对应的英文表达(C++实现)—— 力扣第273号题的加强。
非负整数转换为英文口语表达,数据结构与算法的基本运用,C++实现。原创 2023-01-06 20:18:06 · 947 阅读 · 0 评论 -
入门向? 一个容易被忽视的内存泄露角度(STL容器中为何放入智能指针会比较好?)
一、问题由来(delete这样用?)内存泄漏始终是C/C++开发中令人头疼的一个问题,大家也都知道free和malloc、new和delete要匹配使用,且数量不能多也不能少。可用到后面的时候,会有部分开发者一看到指针出现,就想着将其delete掉,以至于出现下面这样尴尬的情形:void func(int* p){ do_something(); delete p;}int main(){ func(new int(10)); int x...原创 2022-05-26 15:58:06 · 882 阅读 · 0 评论 -
类中的成员函数加static修饰与否的区别(decltype视角探究)
0️⃣、小白入手 decltype的基本认识及用法,请各位看官移步笔者的另一份博文一、问题由来二、深入分析原创 2022-03-16 11:11:26 · 1022 阅读 · 0 评论 -
多路归并算法从理论到应用(易懂)
一、多路归并算法的由来假定现在有一包含大量整数的文本文件存放于磁盘中,其文件大小为10GB,而本机内存只有4GB。此时若我们要对该文件中的所有整数进行升序排序,肯定不能直接将文件中的所有数据一次性读入内存中,再使用快速、归并等排序算法对这么大规模的整数进行排序。好像陷入了难题? 我们不妨换一个思路,为何不将10GB大文件拆分为10个1GB的小文件呢? 逐个对10个文件进行排序后,再将其写入磁盘中,此时就得到了10份已排序后的临时文件。每一份文件都是...原创 2022-01-23 02:21:16 · 6632 阅读 · 1 评论 -
C/C++中字符串排序时的比较规则-精简总结
问题的由来:最近在做一些算法题时,涉及到对字符串进行排序,网上查阅了大量文章感觉都没有对此问题有一个明确的说法,索性自己做实验并总结出一定的规律,方便自己也方便他人。 问题的抽象:考虑对n个字符串(字符串均由可打印字符组成,具体而言十进制码值位于[32,126]这个区间)进行升序排序,输出排序后的字符串情况,并分析时间复杂度。 问题的思考过程:以下面的ASCII码表为依据,从字符串的长度以及字符串的组成类型两个角度来思考排序时的比较规则。字符串中...原创 2021-12-14 15:16:55 · 4766 阅读 · 0 评论 -
浅析decltype一些有趣(实用)的用法
目录一、透过表象,直探本质1.decltype关键字该如何理解?2.auto VS decltype二、decltype的使用分析1.“()”中放入的是变量2.“()”中放入的是表达式3.“()”中放入的是函数参阅资料一、透过表象,直探本质1.decltype关键字该如何理解?decltype用于推导类型是大家都知道,可真正面对decltype的各种写法时,又容易迷失在类型判断的困境中。以上面的两行代码为例,来说明问题:decltype(10......原创 2021-11-14 23:54:33 · 3005 阅读 · 0 评论 -
LeetCode #234回文链表(快慢指针中,易引入的bug问题)
前言:个人LC刷题记录与心得分享。 ~~~~ ~~~ 题解之类的力扣社区的大佬们都有写,所以笔者在此主要谈的是自己在完成这道题目时,遇见的bug以及相应的解决办法。[解题思路]step1. 利用快慢指针的技巧,先找到链表的中点(中点的划定与链表结点个数的奇偶有关)。step2. 反转后半部分链表。step3. 利用双指针的方式判断是否回原创 2021-04-17 02:24:48 · 282 阅读 · 0 评论 -
数据结构—循环链表的实现与分析
文章向导 从单链表到循环链表 引入多态的特性简化实现 创建一个循环链表 合并两个任意长度循环链表一、从单链表到循环链表 对于一般的单链表,假设我们正处于表中的某一个节点,并想以此为起点来遍历整个链表。但显然这是无法做到的,我们只能从头节点再次重新开始遍历。 于是,循环链表也就应运而生,从而填补这种从单链表中任一节点开始遍历整个链表的需求。下图就是一个实际...原创 2018-09-13 19:52:46 · 1779 阅读 · 0 评论 -
数据结构—单链表结构的实现与分析
文章向导 线性表的链式存储结构 创建一个单链表 删除一个单链表 查找、插入、删除链表结点一、线性表的链式存储结构 线性表的链式存储结构就是用一组任意的存储单元存储线性表中的元素,这组存储单元可以是连续的,也可以是不连续的。同时也就意味着这些数据元素可以存在于内存未被占用的任意位置。 我们习惯将链表(链式表)中的每个元素称之为结点,每个节点包含两部分的组成...原创 2018-08-04 21:58:08 · 1238 阅读 · 0 评论 -
数据结构—线性表的顺序存储结构实现与分析
文章向导 线性表及顺序存储结构 元素获取、插入、删除的实现 算法时间复杂度的分析一、线性表及顺序存储结构 线性表即有限个数据元素的序列,而其顺序存储结构则指的是用一段地址连续的存储单元依次存储线性表中的数据。在高级语言中(如C语言)一般可用一维数组来实现顺序存储结构。二、元素获取、插入、删除的实现 定义在一个线性表上的操作有许多,比如初始化、清空、读/写、...原创 2018-07-07 22:00:14 · 4639 阅读 · 0 评论